Короче говоря, когда я использую ту же конфигурацию в IIS я могу увидеть это:WCF прошла в службе Windows с wsHttpBindngs указует на неправильное место
и когда я иду в Service1
я могу видеть 'wsdl'.
Теперь, когда я перестану IIS и начать свою службу Windows с той же конфигурации:
<system.serviceModel>
<services>
<service name="WcfService1.Service1">
<host>
<baseAddresses>
<add baseAddress="https://localhost:443/WcfService1"/>
</baseAddresses>
</host>
<endpoint address=""
binding="basicHttpBinding"
contract="WcfService1.IService1"
bindingConfiguration="basicHttpBindingConfiguration"/>
<endpoint address="ws"
binding="wsHttpBinding"
contract="WcfService1.IService1"
bindingConfiguration="wsHttpBindingConfiguration"
behaviorConfiguration="wsBehaviorConfig"/>
<endpoint address="mex"
binding="mexHttpsBinding"
contract="IMetadataExchange" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="basicHttpBindingConfiguration">
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
<wsHttpBinding>
<binding name="wsHttpBindingConfiguration">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<client />
<behaviors>
<endpointBehaviors>
<behavior name="wsBehaviorConfig">
<!-- <wsdlExtensions location="https://localhost:443/WcfService1/Service1.svc" singleFile="true" /> -->
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
Когда я обновить веб-страницу в https://localhost/WcfService1
я вижу информацию WSDL:
В результате я не может разговаривать с сервисом. Я не понимаю, что я могу делать неправильно. Любые предложения?
И это нужно сделать в приложении, которое вызывает мой сервис? Если это так, я не могу этого сделать, поскольку у меня нет доступа к коду. – Jakubee
@Jakubee, как только вы создадите свои службы, вы должны протестировать его с помощью WcfTestClient или (и) с другим приложением, добавив ссылку на службу. С этим вы можете проверить и получить уверенность в том, что ваша служба работает должным образом. – recineshto
@Jakubee, подробное описание на ** MSDN ** для [тестового клиента WCF] (https://msdn.microsoft.com/en-us/library/bb552364 (v = vs.110) .aspx) Самый короткий возможный способ использования - найти ** Developer Command Prompt для VS2015 ** и запустить его, а затем добавить ссылку на службу (File/Add Service ...), ввести адрес в вашу службу, и если все будет правильно, вы будете представленный вызываемому интерфейсу к методам вашего сервиса – recineshto