我正在尝试主持第二个网站(默认网站之外,已经使用过),这是.NET 4支持的Web服务.这是IIS 6.
默认网页使用的是.NET 2.0.在IIS 6中,您可以通过创建两个不同的应用程序池来运行不同版本的.NET的两个单独的网站.我做到了这一点.
但是,我遇到了一个常见问题,其中ASP.NET选项卡没有出现在IIS中.该选项卡允许您设置站点使用的.NET版本.
我的解决方法是更改??每个站点通过命令行引用的.NET版本:
aspnet_regiis -s (site path)
此问题的另一个解决方案是将IIS切换到64位模式,这会导致实际显示ASP.NET选项卡.问题是,即使重新配置IIS以引用以下目录,将IIS切换为64位也不能与现有网站保持良好关系,
Microsoft.NET/Framework64
而不是
Microsoft.NET/Framework
有没有经验丰富的人在这样的服务器上托管单独的页面?这是一场噩梦.我实际上可以让第二页工作,但原来的默认页面失败,反之亦然.
我现在有32位模式的IIS并从cmd行运行以下命令:
C:WINDOWSMicrosoft.NETFrameworkv4.0.30319>aspnet_regiis -lk
W3SVC/ 2.0.50727.3053
W3SVC/1/ROOT/ 2.0.50727.3053
W3SVC/87257621/root/ 4.0.30319.1
这清楚地表明我的第二个网站(ID为8725721)是为.NET 4设置的,而原始集(ID 1)是为.NET 2设置的.它们位于单独的应用程序池中.
在此配置下,初始站点有效.在新网站上,我可以浏览目录,但.asmx页面会产生404错误.
当我为64位模式启用IIS时,我已经使.asmx页面按预期工作,但是默认网站提供了“服务不可用”一般错误,因为.NET是从Framework路径而不是Framework64路径安装的.但是,即使在切换到Framework64路径后,默认页面也会出现更多错误.
此外,在我更改网站的目标框架之前,我试图运行到.NET 4,此错误显示在事件查看器中:
无法初始化AppDomain:/ LM / W3SVC / 87257621 / Root
例外:System.IO.FileLoadException
消息:无法加载文件或程序集’System.Web,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a’或其依赖项之一.访问被拒绝.
解决方法:
在IIS中的Web服务扩展下,是否将ASP.NET 4.0设置为允许?
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!