programing

IIS8의 WCF. *.svc 핸들러 매핑이 작동하지 않음

abcjava 2023. 4. 21. 20:05
반응형

IIS8의 WCF. *.svc 핸들러 매핑이 작동하지 않음

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

Web 롤을 인스톨 할 때는, Windows Server 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.

(스태틱 파일핸들러는 삭제했습니다).

사이트에서는 가장을 사용하기 위해 기존의 파이프라인을 사용하고 있습니다.

자세한 내용은 다음과 같습니다.

  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 비 된 파이프을 추가할 도 있습니다." 필요한 경우 비 http 유형(tcp, 명명된 파이프 등)을 추가할 수도 있습니다.
  8. [ ] 를 합니다."Install"단추

이 기능을 활성화해야 했다.HTTP Activation.NET Framework 4.5 Advanced ServicesWCF Services

HTTP 액티베이션의 이니블화

Windows 기능 켜기/끄기'를 켜십시오.

a) .Net Framework 3.5 - WCF HTTP 액티베이션 및 비Http 액티베이션

b) 모두 WCF 서비스 아래

IIS8이 설치된 Windows 8

  • Windows+X
  • 선택합니다.Programs and Features의 첫 ) (목록의 첫 번째 항목)
  • 선택합니다.Turn Windows Features on or off
  • .를 펼칩니다..NET Framework 4.5 Advanced Services
  • .를 펼칩니다.WCF Services
  • 능능 enable enable enable enable를 유효하게 HTTP Activation

요즘은 대본으로 하는 게 더 좋아요.

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

Windows Server 2012 에서의 에러는, 다음의 방법으로 해결할 수 있었습니다.

  1. "Remove Roles and Features Wizard(역할 및 기능 삭제 마법사)"에서 삭제합니다.NET Framework 4.5 기능/ASPNET 4.5 및 그 모든 종속 기능
  2. 삭제된 기능을 다시 설치합니다.

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

또한 WCF Services 아래에 HTTP Activation이 설치되어 있는지 확인합니다.

Windows 8 머신의 경우는, 「Server Manager」애플리케이션은 없습니다(적어도 찾을 수 없었습니다).

문제는 해결할 수 있었지만요.다음 작업을 어느 순서로 수행했는지 모르지만 다음 작업의 몇 분의 1이 도움이 됩니다.

  1. [Windows 기능 켜기/끄기]를 켜겠습니다a ) 。Net Framework 3.5 - WCF HTTP Activation and Non-Http Activation b)는 모두 WCF Services 아래에 있습니다(이 질문에 대한 답변 중 하나에서 지정).

  2. %windir%에서 "ServiceModelReg.exe"를 실행했습니다.마이크로소프트(MS.NET\Framework\v3.0\Windows Communication Foundation\" 폴더

  3. 등록 ASP2개의 명령어를 사용한NET 2.0 (폴더 C:\)WINDOWS\Microsoft.NET\Framework\v2.0.50727):

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

  4. PC를 재시작했습니다...액션 ##3과 4의 결과 ASP에 뭔가 고장이 난 것 같습니다.NET 구성

  5. 액션 #2를 반복합니다.

  6. 「프로그램과 기능」의 다른 2개의 옵션을 인스톨 합니다.Net Framework 4.5 고급 서비스ASP의 양쪽 서브옵션을 확인했습니다.NET 4.5 및 WCF 서비스

  7. App Pool을 재시작합니다.

시퀀스는 좀 미친 짓이지만, 그건 나에게 도움이 되었고 아마도 다른 사람에게도 도움이 될 것이다.

PowerShell을 사용하여 필요한 기능을 설치할 수 있습니다.

Add-WindowsFeature 'NET-HTTP-Activation'

윈도우즈 8 또는 윈도우즈 서버 2012에서 IIS 8을 구성할 때 설치 순서가 매우 중요합니다.

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

Windows 10(클라이언트)에서는, 다음의 방법으로 스크립팅 할 수도 있습니다.

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

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

의 HTTP 액티베이션 기능입니다.NET 프레임워크 Windows Process Activation 기능도 필요합니다.

이것은 나에게 정말 어리석은 것이었다.svc 404 문제에 대해 가장 많이 사용되는 스레드 중 하나이기 때문에 여기에 추가합니다.

[프로젝트 설정(Project Settings)]의 \웹 \프로젝트 URL에 붙여넣기:

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

그리고 어떤 이유에서인지(수천 번을 반복했지만) .svc 파일의 이름이 끝에 있다는 것을 바로 알 수 없었습니다.

도!

저는 방금 WCF 테스트 클라이언트의 주소를 붙여 넣었고 충분히 확인하지 못했습니다.백그라운드에서 실행한 것은 .svc 주소로 IIS 응용 프로그램을 생성했는데 IIS에서 아무것도 얻을 수 없었습니다.어떻게 .svc 파일도 못 쳤는지 알 수가 없었어.

간단한 수정은 물론 IIS에서 애플리케이션을 삭제하고 프로젝트 URL을 변경하기만 하면 됩니다.

거의 20년이 지났지만, 당신은 여전히 남학생 실수나 신입사원 실수를 할 수 있다.이게 도움이 됐으면 좋겠네요.

언급URL : https://stackoverflow.com/questions/11116134/wcf-on-iis8-svc-handler-mapping-doesnt-work

반응형