#wcf #cassini
#wcf #cassini
Вопрос:
Я потратил на это часы и просто не могу заставить его работать. Возможно, мое понимание размещения службы WCF и создания клиента для нее неверно.
На моем веб-сайте добавлена служба WCF со следующей конфигурацией…
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="Binding1">
<security mode="None">
<transport clientCredentialType="None" />
<message establishSecurityContext="false" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="MyWCFWebApp.Service1Behavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="MyWCFWebApp.Service1Behavior" name="MyWCFWebApp.Service1">
<endpoint address="" binding="wsHttpBinding" contract="MyWCFWebApp.IService1" bindingConfiguration="Binding1">
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
</system.serviceModel>
Когда я запускаю веб-сайт через Visual Studio, используя встроенный веб-сервер, я могу получить доступ к веб-сервису черезhttp://localhost:9988/Service1.svc
но…
При размещении веб-сайта через сервер CassiniDev с привязкой к ip и имени хоста я могу получить доступ к службе wcf через http://localhost:9988/Service1.svc , но как только я попытаюсь получить доступ к службе wcf, используя ip или имя хоста http://10.111.202.73:9988/Service1.svc , он возвращает следующую ошибку:
«Привязка протокола не соответствует указанному адресу ‘http://10.111.202.73:9988/Service1.svc ‘. Привязки протокола настраиваются на уровне сайта в IIS или конфигурации WAS.»
Я понятия не имею, почему это происходит. Есть идеи?
Комментарии:
1. откуда берется IP 10.111.202.73: 9988?
2. Несколько недостатков в моем сообщении. Я отредактировал это. 10.111.202.73 — это IP-адрес локального компьютера, пытающегося получить доступ к службе wcf через ip-адрес вместо localhost. Это тот же компьютер, на котором запущена служба wcf.
3. Похоже, это ошибка с WCF и cassini : (Решение недоступно. ultidev.com/Forums/default.aspx?g=postsamp;t=351
4. Рекомендуется определять адрес в конфигурации вашего сервера как http: // *: 9988, а не как localhost: 9988 , но я не знаю, поможет ли это в данном случае
Ответ №1:
Оказывается, проблема была связана с веб-сервисом cassinidev, который не поддерживает WCF 3.5…. Мне потребовалось некоторое время, чтобы разобраться с этим…
Ответ №2:
возможно, вы можете попробовать разместить свою службу в консольном приложении, просто чтобы проверить, связано ли это с IIS.