Сценарий:
У меня есть приложение PRISM, разработанное в Silverlight (4), и я использую серверное приложение ASP.NET для размещения нескольких веб-сервисов (которые, в свою очередь, обращаются к WCF-сервисам, но это не очень важно здесь). Приложение Silverlight должно иметь возможность вызывать междоменный домен веб-служб (это означает, что веб-службы не обязательно находятся на том же сервере, на котором размещено приложение Silverlight).
Приложение Silverlight состоит из нескольких модулей, каждый из которых обращается к веб-службам ASP.NET.
У меня нет большого опыта работы с Silverlight и PRISM, но, насколько я понимаю, это не очень необычный сценарий ...
Проблема:
Моя проблема заключается в том, что когда 2 разных модуля получают доступ к веб-сервисам, я получаю 2 новых сеанса на веб-сервере. Я бы подумал, что, поскольку оба модуля живут на одной и той же HTML-странице (а затем и в одной и той же сессии браузера), они получат одну и ту же сессию на веб-сервере ...?
Я попытался сделать прокси-клиент веб-службы глобально доступным в контейнере (используя Unity), зарегистрировав экземпляр (используя Container.RegisterInstance), а затем получив этот экземпляр всякий раз, когда модуль должен сделать веб-запрос. вызов службы (с использованием Container.Resolve), но это, похоже, не помогает.
Однако любые вызовы, сделанные в одном и том же модуле, всегда получают один и тот же сеанс на сервере.
Кто-нибудь может увидеть, что мне здесь не хватает ...?
Спасибо!
Jon