Iis6.0 ,ii5.1 下 asp.net mvc 部署
搞了一天 ,在 iis6.0 下部署 asp.net mvc, 中间遇到个类问题,列出来看一下:
1. an unhandled exception has occurred in xxx.EXE
2. server application is unavailable
前两个问题,网上找了很久,也有很多答案,整理了一下,都说在 dotnet 目录下,找到 aspnet_regiis.exe 运行这个程序重新注册到 iis 中,
具体操作:
cd C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319
aspnet_regiis -ua (参数功用不多说了)
aspnet_regiis -i
然后在 到 iis 管理器中,在 web 服务扩展中,允许 ASP.NET v4.0.30319 ,
站点中也作相应设置,
其实大致意思,就是说版本问题 ,你用那个版本编译的代码,在 iis 中一定要设置相应的 dotnet 版本,
其次 ,就是虚拟目录权限设置问题:这个主要是设置 asp.net 用户读写权限
可怜 ,我因为版本问题 ,整了很久,都没找到原因,因为临时要部署个网站,用不了多久,
所以为了方便,就在 server2003 上安装了 donet framework 4.0 版本的, (网上随便下载的),注册到 iis6.0 ,在把本机上发布的 dll 考到 iis 虚拟目录上,运行时就出现了上面 2 个问题,
搞了很久,最后想到可能是版本问题,又装上了 vs2010, 你说把代码重新编译了一下,应该没问题了吧,谁想,运行时,居然弹出了 vs 的调试窗口,最后实在没法了,,把 donet4.0 完全卸载了
,去官网上下载了个 donet4.0 装上,居然就能运行了,哎,说到这里,这不能不说微软的东西让人又爱又恨啊……,
算了,写下部署步骤:
1. 装 iis6.0,(xp 的装 iis5.1 的 )
2. 注册 asp.net ,具体: cd C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319
aspnet_regiis -ua (参数功用不多说了)
aspnet_regiis -i
3. 到 iis 管理器中,在 web 服务扩展中,允许 ASP.NET v4.0.30319 ,
4. iis 网站里面默认站点右键 - 》属性 - 》 asp.net - 》版本选择 v4.0.30319 ,主目录 - 》配置 - 》插入 - 》 aspnet_isapi.dll , 下面复选框不要选择, OK 了,如图:
5 ,服务里面 把 asp.net state service 启动, Ok 了,
上面 .net framework 就只有一个版本,当 iis 里面有多个版本时,最好每个版本建立一个应用程序池,
整个流程就是这样的,很简单吧,
Xp 下 iis5.1 asp.net mvc 部署
这个比 iis 6.0 复杂点,
具体如下:
1. 安装 iis5.1 ,
2. 建立虚拟目录,如下:
3. http403 ,此网站要求登录
一般要求注册 asp.net 到 iis, 如下:
Cd C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319
Aspnet_regiis –ua
Aspnet_regiis –i
然后 “主目录-》配置-》添加”,如下图:
如果 http500 错误时,一般
一般事件日志里面记录的如下:
( 1 ) . 服务器无法加载应用程序 '/LM/W3SVC/1/ROOT' 。错误是 ' 不支持此接口
(2).ms dtc 没正常启动
解决如下:
(1) system32 目录下运行
inetsrv
rundll32 wamreg.dll CreateIISpackage
regsvr32 asptxn.dll
(2) 问题 去服务里启动 Distributed Transaction Coordinator 服务,无法启动,重新注册就行了,
这里列出了安装中遇到的一些主要的问题 ,其中 ,大多解决办法来自网上,有些也不知道为什么这么做,在这里只是整理了一下,仅供参考和节约时间,有兴趣自己去研究下
参考: http://www.360doc.com/content/09/0306/09/110392_2725557.shtml