网络应用程序的问题(网络。config错误)HTTP500.19与IIS7.5ASP.NET v2
-
05-07-2019 - |
题
这是推动整个团队的疯狂。必须有一些简单的错误配置的一部分IIS或我们的网络服务器,但每次我们试试运行了ASP.NET 网上应用程序IIS7.5我们得到如下的错误...
这里是错误的完整:
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration
data for the page is invalid.
`Detailed Error Information`
Module IIS Web Core
Notification Unknown
Handler Not yet determined
Error Code 0x8007000d
Config Error
Config File \\?\E:\wwwroot\web.config
Requested URL http://localhost:80/Default.aspx
Physical Path
Logon Method Not yet determined
Logon User Not yet determined
Config Source
-1:
0:
机器运行 Windows服务器2008年R2.我们发展我们的网络应用程序的使用 Visual Studio2008.
根据Microsoft代码8007000d意味着那里的语法错误,在我们的网络。config-除了项目建造和运行良好的地方。看网络。config在XML记事本不会带来任何语法错误。我假设它必须以某种形式的贫穷的结构上我的一部分...?
任何人都不会知道我在哪里能找到进一步的信息有关的错误?没有什么是显示出在事件查看器,无论是:(
不知道还有什么将是有帮助的提...
援助是极大的赞赏。谢谢!
更新!-张贴的网页。CONFIG下
好吧,因为我原来的问题上,我已经追踪到了精确的线 网。config 这是造成的错误。
这里有线(它们之间出现 <System.webServer>
标签)...
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</httpHandlers>
注:如果我删除线 之间 的 <httpHandlers>
我仍然得到错误。我真的已删除 <httpHandlers>
(线中间),以停止获取上述错误。
一旦我做了这个,我得到一个 新的 500.19错误,但是。值得庆幸的是,这个时间IIS实际上告诉我它的位的网络。配置造成的问题...
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</handlers>
看看这些线条很明显的问题已经迁移还在同一 <system.webServer>
签到的 <handlers>
标记。
新的错误也是更加明确和具体的抱怨说,它不承认属性"验证"(如上看到第三线以上)。除去这个属性,然后使其抱怨说,同一行没有所需的"姓名"属性。添加这一特性带来了然后 ASP.NET 错误...
未能加载文件或组件 '系统。网。扩展, Version=1.0.61025.0、文化=中性, 公钥=f2cb5667dc123a56'或 它的一个依赖关系。该系统 不能找到指定的文件。
显然我认为这些新的错误只是出自我删除了 <httpHandlers>
标记放在第一位--它们显然需要通过应用--使这个问题仍然是:为什么会这些标记踢了一个错误IIS在首位???
我需要安装的东西IIS使其与他们合作?
再次感谢任何的帮助。
网。CONFIG
这里的麻烦位我们的 网。Config...我希望这可以帮助别人发现我们的问题!
<system.Web>
<!-- stuff cut out -->
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</modules>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</handlers>
</system.webServer>
解决方案 3
啊哈!我打败了这个问题!我的上帝,对于像我这样有限的IIS经验的人来说,这是一个野兽。我真的以为我会整个周末都在修理它。
这是解决这个邪恶问题的其他任何人的解决方案。
首先要注意的是:如果您希望这是您的解决方案,请确保您具有相同的错误代码( 0x8007000d )和配置源( -1:0 :强>)。如果没有,这个不是你的解决方案。
接下来需要注意的事项是:您的web.config中没有正确安装AJAX!
按照本指南修复此问题:
http:// www .asp.net / AJAX /文档/活/ ConfiguringASPNETAJAX.aspx
然后,在此链接上的生产服务器上安装 AJAX 1.0扩展:
http://www.asp.net/ajax/downloads/archive/点击 更新: Microsoft似乎已删除了上述页面:(
就是这样!
其他提示
我有这些确切的症状,我的问题与彼得的相似。是否在新服务器上设置现有项目。我的项目引用了IIS7 URL重写模块,但尚未在新服务器上安装。安装它解决了我的问题。
您可以使用 Microsoft Web Platform Installer 进行安装。执行它,选择产品,在左侧菜单中选择服务器,然后在列表中找到 URL重写并进行安装。
或者您可以此处下载。
在新机器上与这一天斗争了一天后,我遇到了以下链接。我错过了重写模块。这解决了一切。
http://forums.iis.net/t/1176834.aspx
http://learn.iis.net /page.aspx/460/using-the-url-rewrite-module/
遇到与上述相同的问题,相同的错误代码等。在Windows上设置本地网站8.经过多次搜索后发现我们缺少URL重写。下载后一切都很好。 :)
Server 2016上的相同问题,IIS 10,500.19错误。我安装了重定向模块,它工作正常。我不知道为什么默认不包括这个。
https://www.iis.net/downloads/microsoft/url-重写#additionalDownloads
要明确的是,看起来IIS 7中的web.config可以正常工作,或者设计用于工作,但缺少此模块会给出非常奇怪且无用的错误。谷歌搜索将您带到一个Microsoft页面,该页面坚持您的网站已损坏或您的web.config已损坏。似乎都不是这样。
这个无用的页面在这里: https://support.microsoft.com/en-我们/ KB / 942055
我只是添加了一件衣服,因为我花了好几个小时试图解决相同的症状(但问题不同):
可能的原因是64位应用程序池中的x86 dll,解决方案是在应用程序池设置中启用32位应用程序。
对我来说,为iis重新注册asp.net就可以了。希望这有助于其他人。
aspnet_regiis.exe -i
总结基于这里和其他地方的答案:
- 检查应用程序池的.NET版本(例如2.0 vs 4.0)
- 检查是否已安装所有IIS引用的模块。在这种情况下,它是AJAX扩展(现在可能不是这种情况),但 URL重写是一个常见的扩展名。 醇>
另一种获得500.19错误的方法是 - 缺少目录和/或破坏它们的权限。
如果遇到这个问题,我相信这个问题会询问完整的IIS版本。我假设这是因为这一行:
Config File \\?\E:\wwwroot\web.config
IIS安装程序通常会为您创建wwwroot
,这是所有网站的默认根文件夹和虚拟目录的挂载点。它总是存在,所以没问题,你通常不关心它。
由于web.config文件是分层的,你可以在那里放置一个主web.config文件并在那里有一些root设置,所有站点都将继承它。 IIS检查该文件是否存在并尝试加载它。
然而,第一个有趣的部分:
如果正确安装了IIS,则此目录将存在。如果它不存在,您将得到500级错误。但是,如果您使用文件/目录权限,尤其是“高级”权限,您实际上可能会意外拒绝 IIS服务帐户扫描/读取此目录的内容。如果IIS无法检查wwwroot \ web.config是否存在,或者它是否存在且IIS无法打开<!> amp;请阅读它 - bam - 500级错误。
但是,对于完整的IIS,它是不太可能的。使用完整IIS的开发人员/管理员通常不愿意使用Documents
,因此通常会保持正确配置。
但是,在IIS Express上..
通常,IIS Express <!>“只能正常工作<!>”。通常,使用IIS Express的开发人员通常不知道它内部有多少类似于真正的IIS。
你很容易发现IIS Express有自己的applicationHost.config文件这个事实,VS为你创建和管理它(正确地,在某种程度上),这种大开眼界告诉你这不是那么简单并且首先看起来像是点击。
除了该配置文件,VisualStudio还会在<=>文件夹下创建一个空目录结构。如果我没记错的话,IIS Express会将这些文件夹视为您网站的根目录,并在其上安装了虚拟目录。
稍后,就像IIS一样,当IIS Express启动时,期望这些文件夹存在并检查那里的root web.config文件。 站点web.config 文件。几乎总是,这些web.config文件丢失了 - 这没关系,因为你不需要它们 - 你有你的**应用程序web.config <!> ;;它们被放置在虚拟目录中的其余内容中。
现在,第二个有趣的部分是:IIS Express 期望该空目录。它们可以是空的,但它们需要存在。如果它们不存在 - 您将收到500级错误,告诉您<!> quot; web.config <!> quot;无法访问该路径的文件。
我第一次碰到这个问题的时候是我清理硬盘的时候。我发现'documents \ websites'文件夹,里面装满了垃圾,我认识了几个已经不再工作的项目了,全是空的,不是单个文件,所以我把它全部删了。一周后 - bam - 我无法运行/调试我目前正在工作的任何网站。错误是500.19,无法读取配置文件。
因此,如果您使用IIS Express并看到有关读取配置的500级错误,请仔细检查错误消息并阅读所有提到的路径。如果您看到类似的内容:
c:\users\user\documents\visual studio 2013\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2015\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2017\projects\WebProject1\WebProject1.web\web.config
etc..
确切地指出错误指示的位置,确保这些文件夹存在,确保IIS工作者帐户可以遍历和读取它们,如果您发现任何错误,可能就是这样。
顺便说一句。在VisualStudio中,在ProjectProperties / Web上有一个按钮<!>“创建虚拟目录<!>”。它本质上是这样做的,所以你可以先尝试一下,但IIRC它也可以在应用程序中清除/覆盖/交换配置部分st.config文件,如果你有任何自定义设置,请小心使用该按钮。
就我而言,.NET Core Windows Hosting Bundle安装有问题。
我已安装并在安装后使用(<!>“net stop is / y <!>”和<!>“net start w3svc <!>”;)重新启动IIS,但我会得到错误代码0x8007000d和配置源-1:0:。
的500.19错误我设法通过修复.NET Core Windows Hosting Bundle安装并使用上面提到的命令重新启动IIS来解决此问题。
希望这有助于某人!
这可能与否有关....我从上面提到的相同错误,开始谷歌搜索,进行更改,获得新错误,无限循环开始。
由于该错误而导致的更改是在服务器的“管理”部分下的IIS管理器中的功能委派中弄乱了。对不起,我不记得我改变了哪一个,但谷歌搜索可能会有所帮助。
这让我把第一个错误带到了另一个全新的流中,有些完全没有意义。 (在虚拟目录下运行时会出现一个错误,将其转换为应用程序会产生另一个错误,etec等)。最终解决了这一系列错误的是: IIS管理器,应用程序池,DefaultAppPool,启用32位应用程序= True
我已经在32位Windows xp盒子上启动了这个应用程序,现在我在64位Windows 7机器上运行它。
所以希望这有助于其他人。
我的IIS 7.5无法理解web.config中的标记 在VS 2010中,它也强调了标签。检查配置文件是否准确,找到所有带下划线的标签。 我把它放在评论中,错误就消失了。
在web.config文件中注释以下行。
<modules>
<!--<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-ISAPI-2.0"/>
<!--<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptResource" verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</handlers>
这样可行。
我有同样的错误。我有一个.net框架版本2.0的IIS站点,但我的应用程序需要4.0。我改变了版本并且有效。
如果有人可能遇到同样的问题,请发帖提醒。
这个可爱的详细的错误仍然存在2019!我只想补充一点,如果你的 web.config
是有效的和可获得它最有可能是 依赖问题.
如前所述通过运算它是一个 AJAX
模块,作为通过其通常的 Rewrite
模块。只要睁大你的眼睛在您的网络。config什么模块和库标签的引用,因为错误代码 0x8007000d 可以约 任何依赖.
在我的情况下,我没有意识到的 AspNetCore
捆被丢失并且必须安装!那么的快乐,我发现这个职位!
我在Windows 7中遇到了同样的问题。
解决方案是进入基本设置<!> gt;连接为<!> gt;特定用户 - 并以用户身份登录,而不是默认的“传递”
这解决了我的问题。
Windows 7
试试这个,
以管理员身份运行cmd
取消所有iis。
start /w pkgmgr.exe /uu:IIS-WebServerRole;WAS-WindowsActivationService
重新安装iis,并正常工作
阿兰
我通过将<customErrors>
标记放在<system.webServer>
而不是<system.web>
所属的位置来解决此错误。 <=>标签下有一点点曲线,但我没有马上注意到它。