원격 컴퓨터에서 WCF 서비스에 액세스하는 동안 SecurityNegotiationException을 해결하기 위해 이전에 question을 요청했습니다. 그 예외는 ValtasarIII의 대답 덕분에 해결되었습니다.원격 WCF 서비스에 연결할 수 없음 - TimeoutException
이제 다른 문제가 있습니다. 서버에서 내 서비스를 호스팅하고 클라이언트 응용 프로그램을 사용하여 연결하려고합니다. 내가 클라이언트 응용 프로그램에서 서비스에 가입하려고 할 때, 아무 일도 발생하지 않고 말에 나는 예외 얻을 :
The open operation did not complete within the allotted timeout of 00:00:59.9939996. The time allotted to this operation may have been a portion of a longer timeout.
비록
(I가 필요한 경우 스택 추적을 공유 할 수 있습니다) 전 서비스가 실행 중인지 여부를 테스트 해보고 클라이언트 컴퓨터에서 브라우저를 통해 성공적으로 액세스 할 수 있습니다. 여기
내 구성은 다음과 같습니다서비스 - Web.config의
<configuration>
<system.serviceModel>
<bindings>
<wsDualHttpBinding>
<binding name="wsHttpDual">
<security mode="None">
<message clientCredentialType="None" algorithmSuite="Default" />
</security>
</binding>
</wsDualHttpBinding>
</bindings>
<protocolMapping>
<add scheme="http" binding="wsDualHttpBinding" bindingConfiguration="wsHttpDual"/>
</protocolMapping>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
클라이언트 -의 app.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<wsDualHttpBinding>
<binding name="WSDualHttpBinding_ISampleContract" clientBaseAddress="http://95.138.188.232:8000/myClient/">
<!--<security mode="Message">
<message clientCredentialType="Windows" algorithmSuite="Default" />
</security>-->
<security mode="None">
<message clientCredentialType="None" algorithmSuite="Default" />
</security>
</binding>
</wsDualHttpBinding>
</bindings>
<client>
<endpoint address="http://95.138.188.232/autofxtools/service.svc"
binding="wsDualHttpBinding" bindingConfiguration="WSDualHttpBinding_ISampleContract"
contract="ISampleContract" name="WSDualHttpBinding_ISampleContract">
<identity>
<servicePrincipalName value="host/95.138.188.232" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>
나는 해결책을 수색했지만 아무것도 없습니다 나를 위해 일했다. 서비스 구성은 보안 요구 사항을 제시하지 않는 것으로 보입니다. 그러나 동일한 구성을 가진 클라이언트는 실제로 서비스와 동일한 시스템에서 작동하지만 원격 시스템에서는 작동하지 않습니다. 이것은 Windows 인증이 여전히 존재한다는 것을 의미합니까 (wsDualHttpBinding의 기본값에 따라)? 그렇다면 어디서 잘못 될까요?
몇 가지 긍정적 인 피드백을 얻기를 바랍니다.
감사합니다.
예 IIS를 통해 호스팅하고 있습니다. 그리고 내가 언급했듯이 클라이언트 컴퓨터의 브라우저를 통해 액세스 할 수 있습니다. –
클라이언트 구성의 서비스 URL이 맞습니까? 'http : // 95.138.188.232/autofxtools/service.svc' –
또한 클라이언트 구성에서'clientBaseAddress = "http://95.138.188.232:8000/myClient/"'를 제공하고 있습니다. 또한 정확합니다. ? –