IIS7.5 및 ASP.NET v2의 웹 응용 프로그램 문제 (web.config 오류) HTTP 500.19
이것은 전체 팀을 미치게합니다. IIS 또는 웹 서버에 잘못 잘못 구성된 부분이 있어야하지만 IIS 7.5에서 ASP.NET 웹 응용 프로그램을 실행할 때마다 다음 오류가 발생합니다.
전체 오류는 다음과 같습니다.
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 Server 2008 R2를 실행 중 입니다. Visual Studio 2008을 사용하여 웹 응용 프로그램을 개발 중 입니다.
Microsoft에 따르면 코드 8007000d는 web.config에 구문 오류가 있음을 의미합니다. 프로젝트가 로컬에서 제대로 빌드되고 실행되는 것을 제외하고. XML 메모장에서 web.config를 보면 구문 오류가 발생하지 않습니다. 내 구성이 잘못된 구성이어야한다고 가정하고 있습니다 ...?
누구든지 오류에 대한 추가 정보를 어디에서 찾을 수 있는지 알고 있습니까? EventViewer에 아무것도 표시되지 않습니다.
무엇을 언급하는 것이 도움이 될지 잘 모르겠습니다 ...
도움을 주시면 감사하겠습니다. 감사!
업데이트! -POST.WEB.CONFIG 아래
좋아, 위의 원래 질문을 게시 했으므로 web.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>
참고 : I 사이 의 줄을 삭제 <httpHandlers>
하면 오류가 발생합니다. 말 그대로 <httpHandlers>
위의 오류가 발생하지 않도록 문자를 삭제해야합니다 .
그러나이 작업을 수행하면 새로운 500.19 오류가 발생합니다. 고맙게도 이번에는 IIS가 실제로 web.config의 어떤 비트가 문제를 일으키는 지 알려줍니다.
<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>
.
새로운 오류는 또한보다 명백하며 "위의 세 번째 줄에서 볼 수 있듯이" "유효성"속성을 인식하지 못한다고 구체적으로 불평합니다. 이 속성을 제거하면 같은 줄에 필요한 "name"속성이 없다고 불평하게됩니다. 이 속성을 추가하면 ASP.NET 오류가 발생합니다.
파일 또는 어셈블리 'System.web.Extensions, Version = 1.0.61025.0, Culture = neutral, PublicKeyToken = f2cb5667dc123a56'또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템이 지정된 파일을 찾을 수 없습니다.
분명히이 새로운 오류는 <httpHandlers>
태그를 처음 부터 삭제하여 발생했다고 생각 합니다. 응용 프로그램에서 분명히 필요합니다. 왜 이러한 태그가 IIS에서 오류를 유발합니까? ??
IIS에서 작동하도록하려면 IIS에 무언가를 설치해야합니까?
도움을 주셔서 다시 한 번 감사드립니다.
WEB.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>
나는 이러한 정확한 증상을 보였고 나의 문제는 Peter의 것과 유사했습니다. 새 서버에서 기존 프로젝트를 설정하고있었습니다. 내 프로젝트는 IIS7 URL 다시 쓰기 모듈을 참조했지만 아직 새 서버에 설치되지 않았습니다. 그것을 설치하면 내 문제가 해결되었습니다.
당신이 사용할 수있는 마이크로 소프트 웹 플랫폼 설치 관리자를 설치 할 수 있습니다. 이를 실행하고 제품을 선택 하고 왼쪽 메뉴에서 서버를 선택한 후 목록에서 URL 다시 쓰기 를 찾아 설치하십시오.
새로운 기계에서 하루 동안 이것과 싸운 후 나는 다음 링크를 보았습니다. 다시 쓰기 모듈이 없습니다. 이것은 모든 것을 고쳤다.
http://forums.iis.net/t/1176834.aspx
http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/
아하! 나는이 문제를 이겼다! 나의 신, 그것은 제한된 IIS 경험을 가진 나와 같은 누군가를위한 짐승이었다. 나는 주말 내내 그것을 고치는 데 지출 할 것이라고 생각했다.
이 사악한 문제를 겪은 다른 사람들을위한 해결책은 다음과 같습니다.
가장 먼저 알아 두어야 할 사항 : 이것이 해결책이되기를 원한다면 동일한 오류 코드 ( 0x8007000d )와 구성 소스 ( -1 : 0 :) 가 있는지 확인하십시오 . 그렇지 않은 경우 이것은 귀하의 솔루션 이 아닙니다 .
알아야 할 다음 사항 : AJAX가 web.config에 제대로 설치되지 않았습니다!
이 안내서를 따라 수정 하십시오 :
http://www.asp.net/AJAX/documentation/live/ConfiguringASPNETAJAX.aspx
그런 다음 이 링크에서 프로덕션 서버에 AJAX 1.0 확장 을 설치하십시오 .
http://www.asp.net/ajax/downloads/archive/
업데이트 : Microsoft가 위의 페이지를 제거한 것 같습니다 :(
그게 다야!
서버 2016, IIS 10, 500.19 오류와 동일한 문제입니다. 리디렉션 모듈을 설치했는데 작동했습니다. 이것이 기본적으로 포함되지 않은 이유를 모르겠습니다.
https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads
분명히 IIS 7의 web.config가 작동하거나 작동하도록 설계된 것처럼 보이지만이 모듈이 없으면 정말 이상하고 도움이되지 않는 오류가 발생합니다. 인터넷 검색을 통해 사이트가 손상되었거나 web.config가 손상되었음을 알리는 Microsoft 페이지로 이동합니다. 둘 다 그렇지 않은 것 같습니다.
도움이되지 않는 페이지는 다음과 같습니다. https://support.microsoft.com/en-us/kb/942055
Had the same problem as above, same error code etc. Setting up a local website on Windows 8. After much searching it was found that we were missing URL rewrite. After downloading it everything was fine. :)
I just add an answear because I spent hours trying to solve the same symptoms (but different issue):
A possible cause is a x86 dll in a 64 bits app pool, the solution is to enable 32 bits apps in the application pool settings.
For me, re-registering asp.net for iis did the trick. Hopefully that helps someone else.
aspnet_regiis.exe -i
To sum up based on answers here and elsewhere:
- Check the .NET version of the app pool (e.g. 2.0 vs 4.0)
- Check that all IIS referenced modules are installed. In this case it was the AJAX extensions (probably not the case these days), but URL Rewrite is a common one.
Another way of getting 500.19 errot for no apparent reason is - missing directories and/or broken permissions on them.
In case of this question, I believe the question asks about full IIS version. I assume this because of this line:
Config File \\?\E:\wwwroot\web.config
IIS installer usually creates the wwwroot
for you and that's the default root folder for all websites and mount point for virtual directories. It always exists, so no problem, you usually don't care much about that.
Since web.config files are hierarchical, you can put there a master web.config file and have some root settings there, and all sites will inherit it. IIS checks if that file exists and tries to load it.
However, first fun part:
This directory will exists if you have IIS properly installed. If it does not exist, you will get 500-class error. However, if you play with file/directory permissions, especially 'advanced' ones, you can actually accidentally deny IIS service account from scanning/reading the contents of this directory. If IIS is unable to check if that wwwroot\web.config exists, or if it exists and IIS is not able to open&read it - bam - 500-class error.
However, for full IIS it is very unlikely. Developers/Admins working with full IIS are usually reluctant regarding playing with wwwroot
so it usually stays properly configured.
However, on IIS Express..
Usually, IIS Express "just works". Often, developers using IIS Express often are not aware how much internally it resembles the real IIS.
You can easily stumble upon the fact that IIS Express has its own applicationHost.config file and VS creates and manages it for you (correctly, to some extent) and that sort of an eye-opener telling you that it's not that simple and point-and-click as it seems at first.
Aside from that config file, VisualStudio also creates an empty directory structure under your Documents
folder. If I remember correctly, IIS Express considers these folders to be the root directories of your website(s) upon which virtual directories with your code are mounted.
Later, just like IIS, when IIS Express starts up, it expects these folders to exist and checks for root web.config files there. The site web.config files. Almost always, these web.config files are missing - and that's OK because you don't want them - you have your **application web.config", they are placed with rest of the content in a virtual directories.
Now, the second fun part is: IIS Express expects that empty directories. They can be empty, but they need to exist. If they don't exist - you will get a 500-class error telling you that "web.config" file at that path cannot be accessed.
The first time I bumped into this problem was when I was clearing my hard drive. I found that 'documents\websites' folder, full of trash, I recognized several year-old projects I no longer work on, all empty, not a single file, so I deleted it all. A week later - bam - I cannot run/debug any of the sites I was working at the moment. Error was 500.19, cannot read config file.
So, if you use IIS Express and see 500-class error telling about reading configuration, carefully check the error message and read all paths mentioned. If you see anything like:
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..
Go there exactly where the error indicates, ensure that these folders exist, ensure that IIS worker account can traverse and read them, and if you notice that anything's wrong, maybe it will be that.
BTW. In VisualStudio, on ProjectProperties/Web there's a button "Create Virtual Directory". It essentially does this very thing, so you may try it first, but IIRC it can also somethimes clear/overwrite/swap configuration sections in applicationHost.config file, so be careful with that button if you have any custom setups there.
In my case, there was something wrong with the .NET Core Windows Hosting Bundle installation.
I had that installed and had restarted IIS using ("net stop was /y" and "net start w3svc") after installation, but I would get that 500.19 error with Error Code 0x8007000d and Config Source -1: 0:.
I managed to resolve the issue by repairing the .NET Core Windows Hosting Bundle installation and restarting IIS using the commands I mentioned above.
Hope this helps someone!
This may or not be related....I started off with the same error mentioned above, started googling, making changes, getting new errors, endless loop.
The change that got me by that error was messing with the Feature Delegation in IIS Manager under the Management section of the server. I'm sorry I can't remember which one I changed, but googling might help.
That got me past the 1st error into a whole new stream of others, some totally nonsensical. (I would get one error when running under a virtual directory, converting it to an application yielded another error, etec etc). What finally solved this series of errors was: IIS manager, Application Pools, DefaultAppPool, Enable 32-Bit applications=True
I had started this app on a 32 bit windows xp box, and I am now running it on a 64Bit Windows 7 box.
So hopefully this helps someone else.
My IIS 7.5 does not understand tag in web.config In VS 2010 it is underline that tag also. Check your config file accurate to find all underlined tags. I put it in the comment and error goes away.
Comment the following lines in the web.config file.
<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>
This will work.
I had the same error. I had an IIS site with .net framework version 2.0, but my app needed 4.0. I changed the version and it worked.
Posting just as a reminder if someone might have the same issue.
This lovely detailed error is still present in 2019! I just want to add that if your web.config
is valid and accessible it most likely is a dependency issue.
As mentioned by the OP it was a AJAX
module, and as by others commonly the Rewrite
module. Just keep your eyes open in your web.config what modules and libraries your tags are referencing to since the error code 0x8007000d can be about ANY dependency.
In my case I didn't realize the AspNetCore
bundle was missing and had to be installed! So happy I found this post!!
I had the same issue in Windows 7.
The solution was to go to basic settings > connect as > specific user - and log in as a user, instead of the default 'pass-through'
This fixed the issue for me.
Windows 7
Try this,
run cmd as Admin.
Unistall all iis.
start /w pkgmgr.exe /uu:IIS-WebServerRole;WAS-WindowsActivationService
Reinstall iis and normaly it's work
Alain
I got this error by putting the <customErrors>
tag inside of <system.webServer>
instead of <system.web>
where it belongs. There was a little squiggle under the <customErrors>
tag but I didn't notice it right away.
Make sure all of your IIS features are properly enabled.
- Open Windows Features (Turn Windows features on or off).
Scroll down to Internet Information Services
Open the World Wide Web plus box drop down
- Open the Application Development Features plus box drop down
- Manually check all of the subsequent check boxes, then click ok
'IT' 카테고리의 다른 글
여러 "데이터 토글"을 사용한 부트 스트랩 제어 (0) | 2020.06.22 |
---|---|
JS fetch API로 파일을 어떻게 업로드합니까? (0) | 2020.06.22 |
재귀 적으로 파일 제거 (0) | 2020.06.22 |
objective-c typedef를 해당하는 문자열로 변환 (0) | 2020.06.22 |
MAX (날짜)를 사용하여 GROUP BY (0) | 2020.06.22 |