Вызов Webmethod из Webservice при сохранении сеанса - PullRequest
0 голосов
/ 09 декабря 2011

Для продукта SaaS я разрабатываю серверное решение на основе веб-сервисов. В этом решении должна быть возможность добавления новых веб-сервисов рядом с основным сервисом. Моя идея - подключить сервисы через сеанс с помощью одноэлементного класса, который может воскресить каждый веб-сервис. Используя этот синглтон, я могу отправлять сообщения всем службам, зарегистрированным в этом синглтоне.

Прежде чем интерфейс сможет получить доступ к этой "сервисной сети", мне нужно ее инициализировать. Я хочу, чтобы эта инициализация выполнялась из основного сервиса по разным причинам. Что я получил, так это то, что я могу перечислить все существующие файлы asmx в текущей папке. Таким образом, я знаю, какие службы инициализировать. Я также нашел способ вызывать другие веб-сервисы, используя запрос SOAP. Это работает. Затем я пытаюсь добавить идентификатор сеанса к SOAP-запросам, используя это:

System.Net.HttpWebRequest hwrequest =
   (System.Net.HttpWebRequest)System.Net.WebRequest.Create(URL);
...

hwrequest.Referer = "http://domain.com/Folder/Service.asmx";
hwrequest.Headers["Cookie"] = "ASP.NET_SessionId=" + Session.SessionID + ";";

Если я попытаюсь использовать это, это сработает один раз, а затем IIS останавливается. Тайм-аут всех последующих веб-запросов.

Я читал о контейнерах с печеньем, но не могу заставить их работать. Есть идеи? Если почему-то мой вопрос неясен, пожалуйста, спросите, и я уточню.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...