[C#] WCF ServiceHost 액세스 권한

WCF 자습서를 진행할 때 다음 오류가 발생합니다.

HTTP가 http : // + : 8000 / ServiceModelSamples / Service / URL을 등록 할 수 없습니다 . 프로세스에이 네임 스페이스에 대한 액세스 권한이 없습니다 (자세한 내용은 http://go.microsoft.com/fwlink/?LinkId=70353 참조).

이것은 Windows 7의 제한으로 인한 것입니까?



답변

문제는 Windows에서 URL을 만들 수 없다는 것입니다.

수정 단계 : 관리자 권한으로 명령 프롬프트를 실행하십시오. ACL에 URL 추가

netsh http add urlacl url=http://+:8000/ServiceModelSamples/Service user=mylocaluser


답변

IDE를 통해 실행중인 경우 관리자 권한으로 실행하면 도움이됩니다. Visual Studio 2008/10 응용 프로그램 아이콘을 찾으려면 마우스 오른쪽 단추로 클릭하고 “관리자 권한으로 실행”을 선택하십시오.


답변

다른 해결책은 주소를 사용하는 것입니다

에 http : // localhost를 : 8732 / Design_Time_Addresses / YOUR_ADDRESS .

.NET Framework (3.5)는 디버깅 범위를 위해이 주소 (http : // * : 8732 / Design_Time_Addresses)를 자동으로 등록합니다. 이는 디버깅 또는 테스트를 위해 Visual Studio 내에서 서비스를 호스팅해야 할 때 유용합니다. 프로덕션에서는 이것을 사용하지 마십시오 …


답변

관리자 권한으로 명령 프롬프트를 열고 아래 명령을 작성하여 URL을 추가하십시오.

netsh http add urlacl url=http://+:8000/YourServiceLibrary/YourService user=Everyone

명심해야 할 몇 가지 사항 :

  1. 코딩에 따라 포트를 변경하십시오
  2. 라이브러리 이름에 따라 서비스 라이브러리 이름을 변경하십시오.
  3. “귀하의 서비스”는 선택 사항입니다

자세한 내용은 다음을 확인할 수 있습니다.
HTTP 및 HTTPS 구성


답변

Visual Studio를 관리자 권한으로 엽니 다. 실행됩니다.


답변

작동하는 다른 옵션은 ..,

응용 프로그램 풀에서 들여 쓰기를 변경하면 코드를 실행할 수 있으며 더 많은 권한을 가진 하나의 계정에 대한 응용 프로그램 풀 실행 계정을 변경하는 것이 좋습니다.

자세한 내용은이 블로그를 사용하십시오

https://letrasandnumeros.com/2017/11/27/http-could-not-register-url-http-80-hellowcf-your-process-does-not-have-access-rights-to-this-namespace/


답변

Windows Vista에서 일하고 있습니다. 심지어 같은 문제에 직면했지만 관리자 권한으로 VS 2008을 실행하려고하면 문제가 해결되고 서비스가 시작되었습니다. 🙂