Я разрабатывал веб-сервис WCF с использованием .NET 3.5 с IIS7, и он отлично работает на моем локальном компьютере.Я попытался опубликовать его на сервере под управлением IIS 6, и хотя я могу просматривать WSDL в своем браузере, клиентское приложение, похоже, не подключается к нему правильно.Я запустил приложение для отслеживания пакетов (Charles Proxy), и ответ на первое сообщение возвращается клиенту пустым (0 байт).Каждое сообщение после первого тайм-аута.
Служба WCF является частью более крупного приложения, использующего ASP .NET 3.5.Это приложение прекрасно работает на IIS 6 уже некоторое время, поэтому я думаю, что это что-то особенное для WCF.Я также попытался сгенерировать исключение в файле SVC, чтобы увидеть, насколько далеко оно зашло, и исключение не было выброшено, поэтому у меня такое ощущение, что это более низкий уровень, который не работает.
Есть мысли?Что-нибудь мне нужно установить на сервер IIS5?Если да, то как я могу по-прежнему просматривать WSDL в своем браузере?
Служба используется через файл SVC с использованием basicHttpBinding
Вот основная идея Web.Config (дайте мне знатьесли вам нужна другая его часть):
<system.net>
<defaultProxy>
<proxy usesystemdefault="False" proxyaddress="http://127.0.0.1:80" bypassonlocal="True"/>
</defaultProxy>
</system.net>
...
<system.serviceModel>
<services>
<service name="Nexternal.Service.XMLTools.VNService" behaviorConfiguration="VNServiceBehavior">
<!--The first endpoint would be picked up from the confirg
this shows how the config can be overriden with the service host-->
<endpoint address="" binding="basicHttpBinding" contract="Nexternal.Service.XMLTools.IVNService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" name="mexHttpBinding" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="VNServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>