Записываем файл cookie из объекта ASP.Net HttpHandler - Page.Response?
-
02-07-2019 - |
Вопрос
Я создаю HTTP-обработчик, который прослушивает вызовы определенного типа файлов и обрабатывает его соответствующим образом.Мой HTTP-обработчик прослушивает файлы .bcn, затем записывает файл cookie на компьютер пользователя и отправляет обратно изображение...это будет использовано в рекламных баннерах, чтобы пользователь был помечен как видящий баннер, и затем мы сможем предлагать специальные предложения, когда они посетят наш сайт позже.
Проблема, с которой я столкнулся, заключается в получении доступа к объекту Страницы...конечно, HttpHandler на самом деле не является страницей, и поскольку объект ответа находится внутри объекта Страницы, я не могу получить к нему доступ для записи файла cookie.
Есть ли способ обойти это, или мне нужно вернуться к использованию стандартной aspx-страницы для этого?
Огромное спасибо..Грег
Решение
Вы можете получить доступ к объекту ответа из объекта HttpContext, переданного методу ProcessRequest из IHttpHandler.Это тот же объект, что и в Page.Response.
Другие советы
методу ProcessRequest(), определенному в IHttpHandler, передается ссылка HttpContext.Этот объект HttpContext будет иметь свойство с именем Response и Request, которое вы можете использовать.
ах, да...огромное спасибо кРамеру :)
Рабочий код - это:
HttpContext.Current.Response.Cookies.Add(cookie);