Моя проблема в том, что WCF не поддерживает сеанс среди вызовов Silverlight. Каждый звонок - это отдельная сессия asp.net. Я знаю, что это может работать, поскольку у меня есть пример, который использует автоматически созданный прокси для WCF в Silverlight, но я использую Channel Factory. Я искал по всей сети, но, к сожалению, большинство людей, кажется, используют генератор прокси.
Мой web.config
<bindings>
<basicHttpBinding>
<binding name="databaseServiceBasicHttp" allowCookies="true" />
</basicHttpBinding>
</bindings>
<services>
<service name="databaseService"
behaviorConfiguration="Debug">
<endpoint address=""
binding="basicHttpBinding" bindingConfiguration="databaseServiceBasicHttp" contract="BlueGazelle.DatabaseServiceContracts.IDatabaseService" />
</service>
</services>
Конфигурация Silverlight для переплета
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding >
<binding name="databaseService" enableHttpCookieContainer="true"/>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:53392/Services/DatabaseService.svc"
binding="basicHttpBinding" bindingConfiguration="databaseService" contract="BlueGazelle.DatabaseServiceContracts.IDatabaseService"
name="BlueGazelle.DatabaseService.Code.DatabaseService"/>
</client>
</system.serviceModel>
</configuration>
Как создать канал
var service = new ChannelFactory<IDatabaseService>("BlueGazelle.DatabaseService.Code.DatabaseService").CreateChannel();
Что-то не так с ChannelFactory? Должен ли я включить что-то, чтобы на нем были файлы cookie?