C#在win7系统 iis部署asp.net导出excel功能报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#在win7系统 iis部署asp.net导出excel功能报错相关的知识,希望对你有一定的参考价值。

报错:
当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作。请指定 ServiceNotification 或 DefaultDesktopOnly 样式,以显示服务应用程序发出的通知。

解决方法:
因为只有在作为服务进程运行或从 Web 应用程序中运行时,它才为 false。当该属性为 false 时,不应显示任何模式对话框或消息框,因为没有供用户进行交互的图形用户界面。
所以可以只能调用response.write的方法用向客户端发送脚本的方法。
例:vbscript脚本:
Response.Write(“<script type=’text/vbscript’>msgbox(‘fasdfdas’)</script>”)
>
Response.Write(“<script type=’text/javascript’>alert(‘fasdfdas’)</script>”)
网上的其他解决办法:
在网上查了一下,发现 “将SystemInformation.UserInteractive属性改为true”就可以了,可是这个东西是只读的,请问哪位高手知道在哪里改?
如果改了会不会出现其他的什么问题!
不要说用Javascript弹出,因为网站已经做完了,工程量很大。拜托各位!
——解决方法——————————————————–
因为MessageBox是属于Winform的,在服务器端执行,也是在服务器上产生对话框
之前你调试的时候是本机当服务器,所以就可以正常运行
——解决方法——————————————————–
改用这个response.write(” <script language=javascript>alert(‘输入需要的文字’) </script>”);
参考技术A 导出excel功能报错跟IIS部署应该没关系吧!你的导出Excel用了什么方法啊?有没有用到模板呀?如果有,网站发布时模板有没有一起生成呢?没有就会报错了。如果是这样,把模板加到发布的对应文件下就可以了。 参考技术B 32位或64位的问题。建议将导出为Excel功能更改为使用Aspose.Cells导出,而不使用原有的Excel组件。如果实在不能使用,那可以将IIS设置为按32位运行模式运行,或者安装一套64位的Office2010,然后再使用其中的组件也行追问

不是的~ office2010和win7系统都是32位的

追答

那你是不是调用了Excel的某些界面功能?而造成需要桌面集成?

参考技术C 试试在更新数据集后调用下:ds.AcceptChanges();

话说你不是用了winform的MessageBox来弹出窗口了?
参考技术D 30分给我吧。。我帮你调

如何将c#做好的asp.net网站部署到iis上

现在使用c#直接编译可以运行网站,显示为localhost/xxxx.aspx,此处localhost可以改为127.0.0.1,但不能改为真实的ip地址,防火墙已关。部署到IIS上也无法使用,是什么问题?

将ASP.NET网站部署到IIS的步骤:

    打开IIS管理器,在管理器中添加一个网站。


    填写网站名称,选择.NET版本(选择相应的版本,是4.0就选4.0,是4.5就选4.5),选择物理路径(物理路径即为你的ASP.NET网站存放的文件夹)。


    填写绑定信息,如果IP地址没有选择(即全部未分配,那就是这个电脑的所有IP地址都可以访问),如果选择了特定的IP地址就只能使用选择的IP进行访问。域名端口等信息保持不变然后确定。


    网站部署完成可以在IIS右侧点击浏览进行访问查看。


    注意:

    1、网站根目录不包含引用文件,一定要到项目的根目录。

    2、在编译运行时使用的是Visual Studio自带的一个虚拟IIS服务器,和IIS服务器还是有一定差别,具体部署情况要以IIS的提示为准。

参考技术A 发布~~
发布网站,记下目录,IIS新建站点,目录指向发布后的目录。追问

能加您威信具体了解下么

追答

百度下C#发布web,感觉你是改BUG懵掉了哈哈

追问

c#直接编译可以用,但发到IIS死活用不了,把杀毒软件先卸载了试试

追答

IIS下分配IP地址?或者再添加一个端口号看下
应该不是杀软的问题,就是IIS设置不妥

追问

嗯,现在确定是iis问题了。虚拟路径,ip号都尝试过了,还是不行。会不会是web带数据库的原因

追答

再给出三种可能的解决方法
1,host文件,(C:\WINDOWS\system32\drivers\etc)看下是不是有什么奇怪的修改
2,换个端口号,比如8081这样,看IP能访问不
3,发布后目录权限(everyone),该盘符也everyone加权限。
再不妥就重装IIS吧= =

追问

我自己的机器配好IIS后

我自己的机器配好IIS后,别的机器如果想访问,也需要安装IIS么?

追答

不需要啊,局域网 浏览器访问局域网IP;外网 最好是上传网站空间访问,自己弄花生壳解析很麻烦的。

追问

我也奇怪呢,我自己电脑上IIS配好了,但局域网还是访问不了,是发布策略是问题么

追答

局域网不能访问?第一反应防火墙问题,然后是IP配置有误,在就是目录权限。唉,有错误提示信息么

参考技术B 看是报的什么错了

以上是关于C#在win7系统 iis部署asp.net导出excel功能报错的主要内容,如果未能解决你的问题,请参考以下文章

如何将c#做好的asp.net网站部署到iis上

我用asp.net做了一个网站。。。然后用iis通过本地发布。。。。可以在局域网上浏览。。系统是win7

Asp.net MVC5 angular4未捕获引用错误:部署到IIS后系统未在systemjs.config.js中定义

c#一个解决方案里包含.netcore3.1和asp.net两个项目,能正常发布iis吗?

请问IIS中如何部署asp.net项目?

C#配置IIS站点