Я развернул службу WCF на IIS машины удаленного рабочего стола. Я могу получить доступ к этой службе в браузере chrome на моей локальной машине, и я добавил его в качестве ссылки на службу в моем проекте. Теперь, когда мой проект пытается получить доступ к сервису, он выдает ошибку типа The caller was not authenticated by the service.
.
После того, как НИОКР связан с ним, я добавил следующие строки для решения
_client.ClientCredentials.Windows.ClientCredential.Domain = "RDP Computer name";
_client.ClientCredentials.Windows.ClientCredential.UserName = "RDP Username";
_client.ClientCredentials.Windows.ClientCredential.Password = "RDP Password";
и снова, когда я пытаюсь, ошибка изменилась как Client is unable to finish the security negotiation within the configured timeout (00:00:00). The current negotiation leg is 1 (00:00:00).
Я пытаюсь найти доменное имя на RDP-машине согласно предложению от https://support.microsoft.com/en-in/help/17463/windows-7-connect-to-another-computer-remote-desktop-connection. Но я не нашел там никакого доменного имени. это имя рабочей группы доступно в области рабочей группы.
На моем локальном компьютере файл app.config проекта содержит служебный код, как показано ниже:
<system.serviceModel>
<bindings>
<wsDualHttpBinding>
<binding name="WSDualHttpBinding_IService1">
</binding>
</wsDualHttpBinding>
</bindings>
<client>
<endpoint address="http://xx.xx.xxx.xxx/Testing/Service1.svc"
binding="wsDualHttpBinding" bindingConfiguration="WSDualHttpBinding_IService1"
contract="ServiceReference1.IService1" name="WSDualHttpBinding_IService1">
<identity>
<servicePrincipalName value="host/RDPName" />
</identity>
</endpoint>
</client>
</system.serviceModel>
однако на стороне проекта службы WCF файл web.config содержит ниже код:
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https"/>
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
<services>
<service name="WcfService.Service1">
<endpoint address="" binding="wsDualHttpBinding" contract="WcfService.IService1" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<timeouts closeTimeout="00:05:00" openTimeout="00:05:00" />
</host>
</service>
</services>
<bindings>
<wsDualHttpBinding>
<binding name="customBinding0"
receiveTimeout="00:05:00"
sendTimeout="00:05:00"
openTimeout="00:05:00"
closeTimeout="00:05:00"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None">
</security>
</binding>
</wsDualHttpBinding>
</bindings>
Я занимаюсь исследованиями и разработками в последние несколько дней для решения этой проблемы, но не смогу вообще.
Пожалуйста, можете ли вы предложить мне, что я должен сделать для решения этой проблемы?
Спасибо.