2014-02-07 2 views
2

웹 서버에서 두 개의 응용 프로그램을 실행하고 있습니다. 웹 서버는 내 컴퓨터에서 로컬로 실행됩니다. 웹 서버가 를 실행로컬 IIS의 MVC 응용 프로그램이 동일한 로컬 IIS의 다른 응용 프로그램과 통신 할 수 없습니다.

내가 두 응용 프로그램이 7.5

IIS. 하나는 WCF이고 다른 하나는 MVC 응용 프로그램입니다.

MVC 응용 프로그램에서 WCF에 데이터를 요청합니다.

그러나. 두 응용 프로그램에서 모두 Windows authentication을 사용하면 제공자 NTLMNegotiate이 활성화됩니다.

MVC의 클라이언트의 web.config는 다음과 같이 설정됩니다

InnerExceptionMessage: "The remote server returned an error: (401) Unauthorized."

함께

ExceptionMessage: "The HTTP request is unauthorized with client authentication scheme 'Ntlm'. The authentication header received from the server was 'Negotiate,NTLM'."

와 내가 검색 좀 :

<security mode="Transport"> 
    <transport clientCredentialType="Ntlm" /> 
</security> 

내가 요청을 보낼 때 내가이 얻을/stackoverflowed 이것에 대한. 심지어 지금까지 machine.config 및 IIS 메타베이스 구성 파일을 편집하기까지했습니다. 아무것도 작동하는 것 같습니다.

짧은 : 내 두 응용 프로그램이 통신 할 수있는 동일한 IIS (7.5)에서 실행 얻으려고

. 그들은 내 로컬 컴퓨터에 있지만 아직 자신을 인증 할 수없는 것 같습니다.

답변

1

당신은 아마 이것을 시도 할 수 :

것은 당신이 당신의 WCF 응용 프로그램을 대신 web.config을이 설정이 있는지 확인 현재 :

<security mode="Transport"> 
    <transport clientCredentialType="Windows"/> 
</security> 

그리고 MVC 응용 프로그램과 WCF의 응용 프로그램에서 호스팅되는 경우 동일한 웹 서버는 MVC 응용 프로그램의 바인딩 섹션에서 외부 DNS 주소가 아닌 웹 서버 IP 주소를 사용해야합니다.

+0

글쎄, 당신은 그것을 보겠습니까. 고마워! – doge

관련 문제