Недавно у меня возникла проблема с вызовами службы wcf, которые возвращали заголовок в сообщении 2 раза, один раз в начале сообщения и один раз в конце сообщения.Вот пример того, что я вижу через фиддлера:
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Thu, 16 Feb 2012 15:48:22 GMT
Content-Length: 308
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><Person_UpdateLastCSIDResponse/></s:Body></s:Envelope>HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 126
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Это происходит не все время, а, кажется, происходит случайно.Это не происходит только для одного конкретного вызова службы, но может происходить при любом вызове.Я еще не смог определить шаблон.
Мы используем тип привязки basicHttpBinding через балансировщик нагрузки в приложении silverlight.
edit:
у нас естьдовольно базовая конфигурация:
сторона обслуживания:
<system.serviceModel>
<extensions>
<behaviorExtensions>
<add name="silverlightFaults" type="Website.Support.SilverlightFaultBehavior, Website" />
</behaviorExtensions>
</extensions>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
<services>
<service name="Website.Services.CommonService">
<endpoint address="" behaviorConfiguration="SilverlightFaultBehavior"
binding="basicHttpBinding" bindingConfiguration="MyDefaultBinding"
contract="Website.Services.CommonService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
<bindings>
<basicHttpBinding>
<binding name="MyDefaultBinding" maxBufferSize="6500000" maxReceivedMessageSize="6500000">
<readerQuotas maxDepth="32" maxStringContentLength="52428800" maxArrayLength="52428800"
maxBytesPerRead="4096" maxNameTableCharCount="52428800" />
</binding>
</basicHttpBinding>
</bindings>
<client />
</system.serviceModel>
сторона клиента:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="SecureBinding" maxBufferSize="8388608" maxReceivedMessageSize="8388608">
<security mode="Transport" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://Website/Services/CommonService.svc" binding="basicHttpBinding" bindingConfiguration="SecureBinding"
contract="CommonSvcReference.CommonService" name="BasicHttpBinding_CommonService"/>
</client>
</system.serviceModel>