2011-04-08 2 views
2

.NET 4.0 웹 응용 프로그램 프로젝트 내에 WCF 끝점이 있습니다. VS2010 WCF 테스트 클라이언트를 사용하여 서비스에 올바르게 연결할 수 있습니다. 그러나 서비스를 사용하려고하면 일반적인 오류 메시지가 나타납니다.인증 모드 = "양식"으로 인해 WCF 끝점에서 오류가 발생합니다.

콘텐츠 유형 text/html; 응답 메시지의 charset = UTF-8이 바인딩의 내용 유형 (text/xml; charset = utf-8)과 일치하지 않습니다. 사용자 지정 인코더를 사용하는 경우 IsContentTypeSupported 메서드가 제대로 구현되었는지 확인하십시오. 응답의 첫 1024 바이트했다 :

나는 web.config 파일에서 인증을 제거 할 때 서비스가 올바르게 작동하는지 발견 : 난 그냥이를 제거하는 방법

<authentication mode="Forms"> 
    <forms cookieless="AutoDetect" loginUrl="~/Security/LoginClient.aspx" name="FORMAUTH" /> 
</authentication> 

어떤 아이디어 인증 서비스?

<location path="MyService.svc"> 
    <system.web> 
     <authorization> 
      <allow users="*" /> 
     </authorization> 
    </system.web> 
</location> 

이 쉬운 방법이 바로 서비스 관련 파일이 공용 폴더에 인증이 필요하지 않은 그룹 수와 같습니다

답변

3

당신의 Web.config의 위치 노드와 폼 인증에서 특정 파일을 제외 할 수 있습니다 전체 폴더에 액세스 할 수 있도록 :

<location path="MyServiceFolder/"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
</location> 
MSDN의 위치 요소에

더 많은 정보 :

http://msdn.microsoft.com/en-us/library/b6x6shw7%28vs.71%29.aspx

+1

이것은 내 문제를 해결하지 못했지만 내 질문에 대한 답변으로 올바른 대답으로 표시하고 여기에 새로운 질문을 만들었습니다. http://stackoverflow.com/questions/5596304/authentication-mode-forms-causing-redirect- in-wcf-service – SmudgerDan

+0

이것은 작동하지 않았습니다. 다른 제안? – Tawani