2014-03-05 3 views
8

방금 ​​프레임 워크 3.5를 사용하여 VS2013에 WCF 서비스 응용 프로그램을 만들었습니다. 내가 클래스 라이브러리 프로젝트에있는 몇 가지 메소드를 노출하기 위해.IIS Express 오류 http 404.17 - WCF 서비스가 실행되지 않음

모든 것이 잘되었지만 서비스가 실행되는지 확인하려고했지만 그렇지 않습니다. 대신 다음 오류가 발생했습니다.

HTTP Error 404.17 - Not Found The requested content appears to be script and will not be served by the static file handler.

Most likely causes: The request matched a wildcard mime map. The request is mapped to the static file handler. If there were different pre-conditions, the request will map to a different handler.

Things you can try: If you want to serve this content as a static file, add an explicit MIME map.

IIS에서 처리했지만 지금은 IIS Expres에서 다소 분실했습니다.

리모컨을 사용하고 있기 때문에이 컴퓨터에 IIS가 설치되어 있지 않지만 일부 디버깅해야하므로 고생했습니다. 어떤 도움을 주셔서 감사합니다.

또한 visualmethod 프롬프트에서 servicesmodelreg -i를 실행했지만 오류가 지속됩니다.

UPDATE

개발에 영향을 미치는되도록에만 IIS Express에서 발생 clarfy하는 것이 유용 할 수있다. VS2013을 Win 8.1 64bit에서 최신 패치로 업데이트했습니다.

답변

19

IIS Express에서 WCF 3.5 서비스를 활성화하는 스크립트 인 "C : \ Program Files \ IIS Express> Wscript.exe WCF35Setup.js install"을 실행하십시오. . 참조 : http://www.iis.net/learn/extensions/introduction-to-iis-express/iis-75-express-readme

+0

어떻게? 나는 그랬지만 오류는 지속됩니다. 나도 이걸 발견했지만 일하지는 않았다. 방금 항목을 업데이트했습니다. –

+0

http://gasparnagy.com/2014/01/enable-net-4-0-wcf-hosing-in-iis-8/#comment-144 –

+0

명령을 실행할 때 , 아무 것도 일어나지도 않고 좋지도 나쁜 것도 아닌 것 같습니다. 그리고 그 실수는 여전히 지속됩니다. 모든 설명이 기쁜 것입니다. –

5

보이는 WCF 매핑은 IIS에 등록되어 있지 않습니다.

위의 오류를 해결하려면

  • 이동을하는 "

%SYSTEMROOT%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation

"Visual Studio 명령 프롬프트에서.

  • 매핑을 수동으로 설치하려면 "servicemodelreg -i"을 실행하십시오.

자세한 내용은 ServiceModel Registration Tool (ServiceModelReg.exe)MSDN을 참조하십시오.

-

는 또한,

는 Windows 기능에서 WCF 서비스에 대한 HTTP Activation 수 있습니다.

  1. 시작 단추를 클릭 한 다음 제어판을 클릭하십시오.
  2. 프로그램을 클릭 한 다음 프로그램 및 기능을 클릭하십시오.
  3. 작업 메뉴에서 Windows 기능 사용/사용 안 함을 클릭하십시오.
  4. WCF 비 -HTTP 활성화 구성 요소 상자를 선택하고 설정을 저장하십시오.

enter image description here

출처 : 모든 권장 해결 방법을 시도 후이 시점까지 여기 제안

http://msdn.microsoft.com/en-us/library/ms732012(v=vs.110).aspx

+0

나는 IIS와 IISExpress가 어떻게 연결되어 있는지보고자 할 것입니다. 이 문제는 디버깅시에만 발생합니다. 구성 요소가 이미 고객 서버에 배포되어 원활하게 작동 중임 –

+0

WCF 매핑이 컴퓨터에 IIS에 등록되지 않았지만 호스팅 된 고객 서버에서 작동하기 때문에 ... –

+0

또한 추가 할 수 없습니다. dev에 대한 서비스 참조. 그 문제는 http://stackoverflow.com/questions/24559558/vs2013-cannot-add-wcf-service-reference-in-solution에 게시합니다. –

1

:

  • servicemodelreg -i
  • 하면 Wscript.exe WCF35Setup.js inst 모든
  • HTTP 활성화 가능

그리고 몇 가지 다른 사람은 다른 제안 : 관리자

  • 사용 "로컬 IIS"대신 IIS 익스프레스
  • I로

    • 실행 비주얼 스튜디오 마침내 내 문제가 무엇인지 결정했습니다. WCF 코드는 .NET Framework 3.0을 대상으로했으며 3.0/3.5에 대한 IIS 지원을 활성화하지 않았습니다! 해결책은 간단했습니다. ".NET Extensibilty 3.5 및 ASP.NET 3.5"를 활성화하십시오.

      Enable Features