Как мне создать экземпляр профиля из файла Ashx?

Недавно я переключил некоторые запросы AJAX на использование файлов asx вместо aspx, обнаружив, что Response.End больше не в моде. В случае, в котором я сейчас рассматриваю, подача заказа на покупку обрабатывается Ashx. Пользователь нажимает кнопку "Отправить" в ПО, и файл Ashx записывает время и пользователя в таблице базы данных. Объект с данными текущего пользователя (включая его первичный ключ) хранится в сеансе и записывается там настраиваемым поставщиком профилей. я добавил IReadOnlySessionState для того, чтобы иметь возможность доступа к сеансу, но, по-видимому, до тех пор, пока не будет получена доступ к другой странице.net, поставщик профилей не будет запущен, а у сеанса нет значений. (проверено пошагово через код.)

Я старался IRequiresSessionState, но результаты те же.

Я предполагаю, что System.Web.UI.Page HttpHandler создает экземпляр пользовательского профиля, если он еще не создан, и что мне нужно добавить его в мой пользовательский профиль HttpHandler.

Я кратко посмотрел на HttpModules, но я не думаю, что это то, что я хочу, потому что они загружаются для каждого запроса.

1 ответ

Решение

Какова стоимость HttpContext.Current.Profile? Свойство Profile заполняется на этапе AcquireRequestState жизненного цикла запроса встроенным модулем HttpModule. ProfileModule,

Здесь http://odetocode.com/articles/440.aspx есть отличная информация о том, как работают внутренние устройства.

Другие вопросы по тегам