[c#] IIS에서 .svc 파일에 액세스 할 때 HTTP 404

최근에 Visual Studio 2008에서 테스트했을 때 잘 작동하는 WCF 서비스를 만들었습니다.하지만 프로젝트를 IIS에 배포하고 IIS에서 .svc 파일에 액세스하려고하면이 오류가 발생합니다.

"Server Error in '/' Application.The resource cannot be found.  "

지난 4 일 동안이 문제가 발생했습니다.

IIS 관리자의 처리기 매핑에서 .svc에 대한 두 개의 항목을 볼 수 있습니다.

svc-Integrated and svc-ISAPI-2.0



답변

SVC 확장에 대한 매핑을 ASP.NET에 추가해야합니다. 가장 쉬운 방법 ServiceModelReg.exe -i은 C : \ Windows \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation에서 실행하는 것입니다. ASP.NET을 아직 활성화하지 않은 경우 활성화해야 할 수도 있습니다.


Windows Server 2012 또는 2016을 사용하는 경우 대신 다음 지침을 따르십시오.


답변

나를 위해 일한 것, Windows 2012 Server R2에서 :

WCF HTTP 404

감사합니다 “Aaron D”


답변

이 단계를 나타내는 블로그 게시물 에서 다음 지침을 찾았 습니다 . 이는 저에게 효과적이었습니다 (Windows 8, 64 비트).

Windows 기능에서 .Net 프레임 워크 아래의 WCF 옵션이 모두 선택되어 있는지 확인합니다. 따라서 제어판 –> 프로그램 및 기능 –> Windows 기능 켜기 / 끄기 –> 기능 –> 기능 추가 –> .NET Framework XX 기능으로 이동합니다. .Net 프레임 워크가 설치되어 있는지 확인하고 그 아래에있는 WCF 활성화 노드가 선택되어 있고 (확인란 선택) WCF 활성화 아래의 두 옵션도 모두 선택되어 있는지 확인합니다.

이것들은:
* HTTP 활성화
* 비 HTTP 활성화
두 옵션을 모두 선택해야합니다 (확인란이 선택됨).


답변

나는 당신이 이미 당신의 문제를 해결했음을 알지만 후대를 위해 :

비슷한 문제가 발생했으며 SVC 처리기가 이미 올바르게 설치되었습니다. 우리의 문제는 요청이 SVC 핸들러에 도달하기 전에 요청을 처리하는 ExtensionlessUrl 핸들러였습니다.

이를 확인하려면-웹 서버 수준의 IIS 관리자의 처리기 매핑에서 처리기 목록을 순서대로 봅니다 (오른쪽에있는 옵션). 다양한 ExtensionlessUrl 처리기가 SVC 처리기 위에 나타나면 아래쪽에 올 때까지 반복해서 아래로 이동합니다.


답변

디렉터리가 응용 프로그램으로 변환되었는지 확인합니다.


답변

오늘도 같은 문제가 발생했습니다.

저에게 해결책은 IIS로 이동하여 새 웹 사이트 이름을 마우스 오른쪽 단추로 클릭하고 속성, ASP.Net을 선택한 다음 ASP.Net 버전을 “1.1.4322”(기본값으로 설정)에서 변경하는 것이 었습니다. 2.0.50727로.

이 작업을 마치면 .svc 파일을 마우스 오른쪽 버튼으로 클릭하고 “찾아보기”를 클릭하여 친숙한 서비스 웹 페이지를 볼 수 있습니다.


답변

Windows 10에서 IIS 6 관리 호환성을 활성화 한 후에도 문제가 될 수 있습니다. WCF 서비스에서 프레임 워크 HTTP 활성화를 설정하면 문제가 해결됩니다.