在IIS 7上发布Web服务会出现500.19-内部服务器错误。

3
我创建了一个文件夹,并将我的Web服务发布到该文件夹中。然后我创建了一个应用程序(在IIS 7中),并指向该文件夹位置。当我尝试从本地计算机上的浏览器访问ASMX文件时,我会收到以下错误信息:
HTTP 错误 500.19 - 内部服务器错误 请求的页面无法访问,因为页面的相关配置数据无效。
有人可以告诉我原因吗?
3个回答

1
尝试另一种方式。直接发布到IIS,选择创建虚拟目录。让Visual Studio按照其想要的方式配置虚拟目录(或应用程序)。

同样的问题。它特别抱怨配置文件中的这一行:<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> - Nick
请检查IIS配置并确保您已部署哪个.NET Framework版本。此外,请发布完整的错误消息。 - John Saunders
2
John - 我要给你修复的功劳,因为它引导我找到了解决方案。应用程序池正在运行在.NET 4.0上。将其改回2.0后问题得到了解决。但是为什么4.0不起作用呢?新框架中肯定有一些新的配置变化..我猜想。 - Nick
@Nick:这类问题以前也曾出现过,通常是由于新的配置部分造成的。特别是,如果网站针对.NET 1.1进行配置,那么.NET 2.0配置文件将无法工作,不仅仅是因为框架的差异,而是因为配置部分类型在.NET 1.1中根本不存在。 - John Saunders

0

看起来似乎与 web.config 文件有关,请先检查它。

此外,也许您错过了在 IIS 中注册 asp.Net,您可以在服务器上运行 aspnet_regiis.exe,并使用 -i 标志。

C:\WINDOWS\Microsoft.NET\Framework\<your framework version here>>aspnet_regiis.exe -i
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i

根据您的错误报告,我看到您尚未安装System.Web.Extensions dll,请安装它并/或将其放在您的bin文件夹中(System.Web.Extensions.dll)。

我执行了asnet_regiis,但没有任何变化。 - Nick

0

给IIS_IUSRS组授予文件夹权限。此外,请查看在IIS管理器中应用程序的应用程序池的身份是什么。将其设置为"LocalSystem"。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接