2017-05-16 8 views
0

콜백을 사용하기 위해 NetTcpBinding을 사용하는 일부 양식 응용 프로그램과 상호 작용하는 WCF 서비스가 있습니다. 괜찮아.WCF : WindowsService에서 호출 할 때 서버에서 자격 증명을 거부합니다.

이제 LocalService 계정으로 실행되는 WindowsService에서 동일한 WCF 서비스를 사용하고 싶습니다. 양식의 일부 데이터를 입력하는 것입니다. 난 단지 그것을 호출 기능 중 하나를 사용할 수 있도록해야합니다 "PushInfo(data as MyData)"

지금까지 내가 LocalService를 계정을 사용하여 그렇게 할 수 없다는 것을 알아, 그래서 약간의 AD 자격 증명을 사용하려면이 설정과 같이

myclientWCF = New ServiceReference.GatewayClient(context) 
myclientWCF.ClientCredentials.Windows.ClientCredential.UserName = "John" 
myclientWCF.ClientCredentials.Windows.ClientCredential.Domain = "EvilCorpDomain" 
myclientWCF.ClientCredentials.Windows.ClientCredential.Password = "spaceballs" 
myclientWCF.PushInfo(myData) 

이렇게하면 잘못된 자격 증명으로 인해 서버에서 호출이 거부됩니다.

무엇이 누락 되었습니까?

myclientWCF.ClientCredentials.Windows.ClientCredential = New NetworkCredential("John", "spaceballs", "EvilCorpDomain") 

하지만 난 그게 내 방식과 다른 어떻게 볼 수 없습니다 사실, 같은 결과를 얻을 :

나는 내가 사용하는 것을 읽었습니다.

답변

0

시도, myclientWCF.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonate;

+0

감사합니다. 시도했지만 불행히도 작동하지 않았습니다. 다른 것을 놓치고있는 것 같아 – RRhoads

0

음을 추가 내가이 문을 잃어버린 것 같습니다 : 나는 왜 작동 방법/확실하지 않다하지만

myclientWCF.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials 

. 나는 그것을 들여다 볼 것이다.

저는 하루 종일이 문제를 해결하고 10 분 후에 질문을 게시합니다. 질문과 답변을 모두 남겨 두거나 게시물을 삭제해야합니까?

+0

남겨두면 다른 사람에게 도움이 될 것입니다. 그러나 왜 그렇게 일했는지에 대한 설명은 너무 좋을 것입니다 :) – Popo