2010-04-21 3 views
0

Я разрабатываю веб-сервис с ASP.NET, не является .asmx или WCF, он является обычным, поэтому я работаю с Http классы (контекст, запрос, ответ и т. д.). Сессия отключена. Я работаю с собственным обработчиком и модулем.Сохранять объект на время, когда соединение выполняется в ASP.NET

Я хотел бы сохранить объект живым и доступным для того времени, когда соединение будет живым. Я имею в виду, что запрос входит, я назначаю ему DbCommand и это соединение будет использовать эту команду так долго, когда это будет завершено, объект должен быть удален.

Я думал, что могу добавить его в свою реализацию IPrincipal, а затем, когда соединение будет проверено в модуле и извлеченном пользователем, я могу добавить этот DbCommand в IPrincipal, поэтому я могу получить его откуда угодно хотите в коде, и после этого в событии EndRequest модуля я могу распоряжаться им, но я не знаю, есть ли лучший способ сделать это.

Как вы думаете?

веселит

ответ

0

Это в некоторой степени зависит от конфигурации WCF.

Предлагаю вам прочитать это, поскольку это может дать вам некоторое представление о направлении, которое вы хотите предпринять. http://msdn.microsoft.com/en-us/magazine/cc163590.aspx

Как ваш клиент будет подключаться к сервису?

Вы также можете использовать одноэлементный шаблон в сервисе (поэтому он и его данные сохраняются в «сеансах») и хранят данные в самом объекте службы для каждого пользователя.

+0

Это не WCF. Клиент подключается к простому WebRequest. То, что я хочу избежать, это сохранить коллекцию для этого, потому что тогда мне нужно синхронизировать доступ и добавлять/удалять. Я просто хочу привязать объект к HttpConext или HttpRequest, например, но я не знаю, где. Приветствия. – vtortola

+0

А, я неправильно понял вопрос! Я извиняюсь. Ваш лучший выбор (IMHO) будет кешем. Вам не нужно использовать коллекцию в кеше для хранения ваших объектов и может полагаться на пользовательские данные в качестве ключа для извлечения их объектов. – Krisc

+0

Но с кешем будет сохраняться между соединениями, не так ли? Я хочу сохранить его только для времени соединения. – vtortola

 Смежные вопросы

  • Нет связанных вопросов^_^