IIS8의 WCF; * .svc 처리기 매핑이 작동하지 않습니다


272

2012 빌드 8400의 IIS8에서 wcf 서비스를 실행하려고합니다.

웹 역할을 설치할 때 2008 년과 같이 wcf 항목 (3.51 미만)을 찾을 수 없었습니다.

설치시 svc 핸들러 매핑이 누락되었으므로 다음을 수행했습니다.

%windir%\Microsoft.NET\Framework\v3.0\WindowsCommunication Foundation\ServiceModelReg.exe i

이제 핸들러 매핑이 있지만 여전히 얻을 수 있습니다.

The resource you are looking for does not have a handler associated with it.

(정적 파일 핸들러를 제거했습니다.)

사이트에서 가장을 사용하기 위해 클래식 파이프 라인을 사용하고 있습니다.

답변:


553

더 구체적으로:

  1. 실행 Server Manager(작업 표시 줄 및 시작 메뉴에서)
  2. 관리 할 서버를 선택하십시오 (아마 로컬 서버)
  3. " Roles and Features"섹션으로 스크롤 하십시오.
  4. Add Role or Feature작업 드롭 다운에서 " "를 선택하십시오.
  5. " Add Role or Feature Wizard"대화 상자 Features의 왼쪽에있는 페이지 목록에서 " " 까지 아래로 클릭하십시오 .
  6. 설치 한 내용에 따라 ".Net 3.5"또는을 확장하십시오 ".Net 4.5". ( " roles"화면으로 돌아가서 없는 경우 추가 할 수 있습니다.
  7. " WCF Services" 아래에서 " "확인란을 선택하십시오 HTTP-Activation. 필요한 유형이 아닌 경우 (tcp, 명명 된 파이프 등) 비 http 유형을 추가 할 수도 있습니다.
  8. "Install"버튼을 클릭하십시오 .

6
Windows 8 (IIS 8 사용)을 사용하고 있기 때문에이 경우에는 작동하지 않았습니다.
Josh Mouch

9
v3.0 디렉토리에서 ServiceModelReg.exe –i를 처음 실행 한 경우 ServiceModelReg.exe –ua도 실행해야 실행이 취소됩니다.
Scott Anderson

14
명령 행에서 : dism / Online / Enable-Feature / FeatureName : WCF-HTTP-Activation / All
Richard

4
gyorgybalassy.wordpress.com/2012/09/24/… 는 무엇입니까 ? 더 나은 방법은 무엇입니까?
Kiquenet

9
말 그대로 "서버 역할"페이지를 한 시간 동안 쳐다보고있었습니다. "Next"를 클릭하거나 왼쪽의 "Features"를 클릭하십시오. o_O +1
Dan Bechard

219

나는 활성화해야 HTTP Activation했다 .NET Framework 4.5 Advanced Services>WCF Services

HTTP 활성화 사용


10
서버 관리자가없는 Windows 8에서해야 할 일
Simon_Weaver

2
이것은 당신이 윈도우 8 및 Windows 8.1에서 WCF 서비스를 호스팅하고있는 대답이다
vcRobe

http 활성화. http / https를 사용하든 관계 없습니까? 따라서 둘 다에 대한 요약 이름입니까 아니면 여전히 구별이 필요합니까?
토머스

2
IIS 10에서 비슷한 문제가 발생했습니다 .Http Activation은 기본적으로 해제되어 있습니다. 이 기능을 사용하면 문제가 바로 해결되었습니다. 감사!
dhruvpatel

4
Windows 10, IIS 10에서 작동
watbywbarif

45

'Windows 기능 켜거나 끄기'에서 다음을 켜십시오.

a) .Net Framework 3.5-WCF HTTP 활성화 및 비 HTTP 활성화

b) WCF 서비스 하의 모든 것


1
.Net Framework 3.5-WCF HTTP 활성화
daveywc 만 켜야

40

IIS8이 설치된 Windows 8

  • 히트 Windows+X
  • 선택 Programs and Features(목록의 첫 번째 항목)
  • Turn Windows Features on or off왼쪽에서 선택
  • 넓히다 .NET Framework 4.5 Advanced Services
  • 넓히다 WCF Services
  • 사용 HTTP Activation

프로그래밍 방식으로 powershell 스크립트가 있습니까?
Kiquenet

우리는 하나의 서버를 가지고있어서 고급 Powershell에 들어 가지 않습니다
Simon_Weaver

28

요즘 스크립트를 통해이 작업을 선호합니다

REM install the needed Windows IIS features for WCF
dism /Online /Enable-Feature /FeatureName:WAS-WindowsActivationService
dism /Online /Enable-Feature /FeatureName:WAS-ProcessModel
dism /Online /Enable-Feature /FeatureName:WAS-NetFxEnvironment
dism /Online /Enable-Feature /FeatureName:WAS-ConfigurationAPI
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45

REM Feature Install Complete
pause

2
감사 dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45합니다 나를 위해 충분했다
Shubh

이것은 새로운 2012R2 + 버전의 Windows Server에서이 문제를 해결하는 가장 좋은 방법입니다. 아마도 2012 년에도 작동하지만 고맙게도 더 이상 시도 할 사람이 없습니다.
Paul Sturm

및 사용 PowerShell을의 스크립트를 ?
Kiquenet

@Kiquenet이 명령은 모두 powershell에서 작동합니다. Shubh의 명령을 직접 복사하려고 시도한 경우 첫 번째 명령 뒤에 두 번째 dism 명령 앞에 줄 바꿈 또는 세미콜론을 추가해야합니다.
kb4000

10

우리는 Windows Server 2012의 오류를 다음과 같이 해결했습니다.

  1. "역할 및 기능 제거 마법사"에서 제거 .NET Framework 4.5 기능 /ASP.NET 4.5 및 모든 종속 기능
  2. 제거 된 기능을 다시 설치하십시오.

설치 순서가 원인 인 것 같습니다.

또한 WCF 서비스에 HTTP 활성화가 설치되어 있는지 확인하십시오.


나는 이것을하고 내 서버를 죽인 것 같습니다. iis에서 asp.net 항목 만 제거했지만 이제는 원격에서 서버가 "서버 코어"인 것처럼 검은 화면과 명령 프롬프트 창이 나타납니다 ... :(
MGOwen

@MGOwen .net 4.5의 일부 기능을 제거하면 서버 그래픽 셸도 제거되는 것처럼 보이며 일부 명령으로 다시 추가 할 수 있습니다.
John

3

Windows 8 컴퓨터의 경우 "서버 관리자"응용 프로그램이 없습니다 (적어도 찾을 수 없었습니다).

나는 문제를 해결할 수 있었지만 . 어떤 작업 순서로 다음 작업을 수행했는지 확실하지 않지만 다음 작업 중 하나 / 몇 가지가 도움이되는 것처럼 보입니다.

  1. 'Windows 기능 켜기 / 끄기'에서 다음을 켜십시오.

  2. "% windir % \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation \"폴더에서 "ServiceModelReg.exe –i"실행

  3. 두 개의 명령 (C : \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727)에 ASP.NET 2.0을 등록했습니다.

    aspnet_regiis -ga "NT AUTHORITY \ NETWORK SERVICE"aspnet_regiis -iru

  4. PC를 다시 시작했습니다 ... ## 3 및 4 작업으로 인해 ASP.NET 구성에 문제가있는 것 같습니다.

  5. 액션 # 2 반복

  6. "프로그램 및 기능"에서 다음 두 가지 옵션을 설치하십시오. .Net Framework 4.5 Advanced Services. ASP.NET 4.5 및 WCF 서비스 하위 옵션을 모두 확인했습니다.

  7. 앱 풀을 다시 시작하십시오.

시퀀스는 미쳤지 만 나에게 도움이되었을 것이고 아마도 다른 사람에게 도움이 될 것입니다.


핵심은 HTTP Activation을 켜는 것입니다.
우마르 파 루크 카와 자


2

Windows 8 또는 Windows Server 2012에서 IIS 8을 구성 할 때는 설치 순서가 중요합니다.

IIS 8을 구성하는 데 많은 문제가 있었지만 마침내 이러한 링크가 도움이되었습니다.


2

PowerShell을 사용하여 다음과 같은 필수 기능을 설치할 수 있습니다.

Add-WindowsFeature 'NET-HTTP-Activation'

1

Windows 10 (클라이언트)에서는 다음을 사용하여 스크립트를 작성할 수도 있습니다.

Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName WCF-HTTP-Activation45 -All

이것은 서버 skus와 다른 명령입니다.


0

.NET 프레임 워크의 HTTP 활성화 기능입니다. Windows 프로세스 활성화 기능도 필요합니다.


0

이것은 나에게 정말 바보 같은 것이었다. svc 404 문제에서 가장 인기있는 스레드 중 하나이므로 여기에 추가하십시오.

내 프로젝트 설정 \ 웹 \ 프로젝트 URL에 붙여 넣었습니다.

http://blah.webservice.local.blahblah.com/Blah.svc

그리고 알 수없는 이유로 (이를 수천 번 수행 한) .svc 파일 이름이 끝났다는 것을 즉시 알지 못했습니다.

도!

방금 WCF 테스트 클라이언트의 주소를 붙여 넣었고 충분히 확인하지 않았습니다. 이것이 백그라운드에서했던 것은 .svc 주소에서 IIS 응용 프로그램을 만드는 것이었고 IIS에서 아무것도 얻지 못했습니다. .svc 파일을 누르지 못하는 방법을 알 수 없었습니다.

간단한 수정은 분명히 IIS에서 응용 프로그램을 제거하고 프로젝트 URL을 변경하는 것입니다.

거의 20 년이 지난 후에도 여전히 남학생 오류 / 신인 실수를 할 수 있습니다. 이것이 누군가를 돕기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.