2012-08-28 2 views
2

IIS 6에서 사용자 지정 AppPool을 사용하여 WCF 서비스를 호스팅했습니다. 이 AppPool은 IIS_WPG 그룹에 속한 사용자로 실행되도록 구성됩니다.IIS WPG 그룹에서 사용자와 호스팅되는 WCF 서비스?

내가 "WCF 테스트 클라이언트"를 통해 동일한 서비스에 액세스하려고 할 때, 나는 오류

enter image description here

다음있어 원격 위치에서 서비스에 액세스 할 수뿐만 아니라 WSDL을 볼 수 있지만

업데이트 : AppPool의 ID를 "네트워크 서비스"그룹으로 변경하여 동일한 서비스를 실행하면 테스트 클라이언트를 통해 서비스에 액세스 할 수 있습니다. 서비스가 "네트워크 서비스"(사용자의 기본 신원) 이외의 ID로 실행되는 경우에만 서비스 메타 데이터에 액세스 할 수 없습니다.

+0

이 질문에 대한 답을 확인 : HTTP : //stackoverflow.com/questions/5199541/failed-to-add-a-service-service-metadata-may-not-be-accessible-make-sure-your 서비스에 메타 데이터가 누락 된 것 같습니다 (mex) 엔드 포인트. –

+0

산호, mex 종점은 서비스 구성에서 결코 정의되지 않았습니다. 문제는 약간 다르며 네트워크 서비스가 아닌 사용자 지정 사용자 ID로 서비스가 실행될 때만 발생합니다. – Nexus23

+0

사용자 정의 사용자 ID는 서비스를 실행하는 데 필요한 모든 파일에 대한 권한을 갖고 있습니까? wwwroot 및 인증서의 파일 포함 (보안을 추가 한 경우)? –

답변

1

나는이 문제를 경험 한 적이 있으며 해결책은 서비스를 사용하여 인증하는 것입니다 클라이언트와 서비스를 호스팅하는 서버 사이의 계정

0

나는 위에서 설명한 것과 같은 문제가 있습니다. 다음은이 문제에 대한 해결책을 찾는 동안 제가 한 일입니다.

IIS6에 대한 WCF 배포 프로세스가 시작됩니다.

  1. 서버에 폴더를 만들고 WCF 패키지를 복사하십시오.
  2. WCF 용 AppPool을 만듭니다.
  3. 새로 만든 AppPool을 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 ID 탭으로 이동하십시오. "구성 가능"을 선택한 다음 네트워크 서비스 대신 서비스 계정 자격 증명을 입력하십시오.
  4. 새 웹 사이트를 만들지 않았습니다. 제 경우에는 기본 웹 사이트 아래에 가상 디렉터리를 만들고 복사 한 WCF 폴더를 가리 킵니다.
  5. 일단 가상 디렉터리가 생성되면 마우스 오른쪽 단추로 클릭 한 다음 속성을 선택하십시오. 다음은 각 탭

    가상 디렉터리 탭

    • 클릭 응용 프로그램 이름을 만들 수있는 버튼을 만들기위한 설정입니다.
    • 실행 권한에서 "스크립트 만"을 선택하십시오.
    • 생성 한 AppPool을 선택하십시오.
    • 변경 사항을 저장하려면 적용 버튼을 클릭하십시오. 당신의 WCF의 SVC는 파일의 이름 -

    문서 탭은 새로운 내용을 추가

    • .
    • 변경 사항을 저장하려면 적용 버튼을 클릭하십시오. 인증 및 액세스 제어에서

    디렉터리 보안 탭

    • 편집을 클릭 버튼을 누릅니다.
    • 서비스 계정 자격 증명으로 사용자 이름과 암호를 변경하십시오.
    • 확인을 클릭하십시오 (재확인이 필요한 경우 암호를 다시 입력하십시오).
    • 변경 사항을 저장하려면 적용 버튼을 클릭하십시오.

    ASP.Net 탭

    • 선택 4.0.30319 버전 (.NET 프레임 워크 4.0이 필요한 경우)
    • 을 클릭하여 변경 사항을 저장하려면 버튼을 적용합니다.
  6. 지금, 컴퓨터 관리> 시스템 도구> 로컬 사용자 및 그룹으로 이동> 그룹

  7. 열고 IIS_WPG 그룹과 서비스 계정을 추가합니다.

  8. 그런 다음> 관리 도구를 시작> 로컬 보안 정책

  9. 보안 설정> 로컬 정책> 사용자 권한 할당을 확장합니다. 서비스로 로그온을 검색 한 다음 서비스 계정을 추가하십시오.

  10. 마지막으로 C : \ WINDOWS \ Temp 폴더로 이동하십시오. 그것을 오른쪽 클릭하고 Properties를 선택하십시오. 보안 탭을 클릭 한 다음 서비스 계정을 추가하십시오.

  11. 특별 권한을 설정하려면 고급 버튼을 클릭하십시오.

  12. 서비스 계정을 선택한 다음 수정 버튼을 클릭하십시오. 사용 권한 목록에서 "폴더 목록 읽기/데이터 읽기"및 "삭제"권한 만 체크하거나 선택하십시오. 변경 사항을 적용하려면 확인 및 적용 버튼을 누릅니다. 메시지 상자가 나타나면 예를 클릭하여 하위 폴더에 적용하십시오.

  13. 이제 마지막 순간입니다. 앱 풀이 실행 중인지 확인하십시오. 브라우저에서 WCF를 테스트 한 다음 WCF 테스트 클라이언트에서 테스트하십시오.

      은 완벽하게 작동하고 내 경우
    1. :

희망이 당신을 도울 것입니다 ...

관련 문제