Някой някога опитвал ли е да използва персонализирано обвързване със SSL в WCF уеб услуга? Виждал съм редица примери как да направя това с basicHttpBinding и wsHttpBinding, но еквивалентът винаги се проваля за customBinding. По-конкретно това, с което работя в момента (най-успешната конфигурация досега) изглежда по следния начин:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
</serviceHostingEnvironment>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="binaryHttps">
<binaryMessageEncoding />
<httpsTransport />
</binding>
</customBinding>
</bindings>
<services>
<service behaviorConfiguration="MyServiceBehavior" name="MyService">
<host>
<baseAddresses>
<add baseAddress="https://(myserver)/"/>
</baseAddresses>
</host>
<endpoint address=""
binding="customBinding" bindingConfiguration="binaryHttps"
contract="MyService" />
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
Това всъщност ни позволява да осъществим достъп до услугата от мрежата, да получим нейния WSDL и да добавим препратка към услуга във визуално студио, но когато всъщност се опитаме да я използваме на живо в нашето приложение silverlight-3, тя просто си стои там и чака отговор за неопределено време и никога не изтича. Всъщност в крайна сметка ми създава проблеми с ниска памет след известно време на моята машина (с 6 GB памет). Странното е, че всичко това работи (и все още работи) перфектно в средата за разработка (използвайки стриктно хостовете на VS приложения), едва когато се опитахме да го внедрим на действителен сървър с истински SSL сертификат, всички тези проблеми изскочил.
Търсих доста изчерпателно решение на този проблем, но досега не намерих нищо и опитах почти всичко - Има ли някой там, който се е сблъсквал с това преди и го е заобиколил?