一次艰难的asp.NET部署过程!

最近一直在研究asp.NET的部署问题,由于是第一次部署,碰到的问题很多,搞完之后写一篇博客来总结下,错误的地方请大家批评指正(估计很多。。。)

开发环境:
Local:win7 + vs2010 + .net4.0 + sqlserver2008 + office2010 + python27 ;
服务器:server2008;

本地应用程开发,一切正常,略过。。

第一:首先将程序预部署,就是部署在本机(win7)时,css文件放在Style/site.css中,不知道什么原因无法加载(可能是权限问题),未果后,决定部署在server08上,server08中,css文件可以正常加载。

第二:配置ISS。将应用程序池默认.NET版本设置为.NET4.0,如没有检查本机是否有.NET4.0环境。将应用程序池标识设置为Networkservice(windows内置三个标识账户,LocalSystem、Localservice以及Networkservice,其中Networkservice具有最低本地权限)在网站中添加新网站,设置物理路径和IP,物理路径最好设置为webconfigure所在目录。

第三:配置完成后发现在只能在本地可以访问,从局域网内其他机器无法访问,经检查是防火墙问题,新建防火墙入站规则,允许访问网站所在端口。

第四:发布在服务器上后,调用excel程序,报错:
"异常来自 HRESULT:0x800A03EC",可能有两个错误,excel写入时从0行开始。另外就是我碰到的,还不明错误原因,google之后,将saveAs改成saveCopyAs即可。

第五:还是调用excel错误,报错:
"80080005异常",是由于应用程序对COM组件操作权限不足引起的。 在控制面板->管理工具->组件服务->计算机->我的电脑->DCOM-> Microsoft Excel 应用程序中添加networkservice账号(根据你的应用程序池设置的账号),设置权限。

第六:由于需要调用python程序,在服务器上运行时,报错:”系统找不到指定文件,p.startinfo()....“,经排查,是IIS账户Networkservice无足够权限,网上搜索说用将应用程序池标识设为LocalSystem,经测试,无效,遂将Networkservice设置为最高权限。设置方法为,在计算机
->管理 ->用户和组中,在administrator组中加入Newworkservice(注意,该设置,会引起严重的安全问题)。

你可能感兴趣的:(一次艰难的asp.NET部署过程!)