Как сериализовать объект httpcontext и пройти через веб-сервис с серверного элемента управления asp.net?
Я хочу передать объект httpcontext через веб-сервис, сериализовав его из серверного элемента управления asp.net. но он не работает с управлением сервером. Работает с веб-приложением. Пожалуйста, помогите мне в поиске решений.
1 ответ
Это не имеет смысла, чтобы передать это HttpContext.Current
объект из веб-приложения в веб-сервис или любые другие комбинации такого общения.
HttpContext
класс и его статический член Current
должны быть доступны и инициализированы для вас в веб-приложении или веб-службах, работающих внутри IIS.
если ваши веб-службы настроены для запуска из другого пула приложений или другого приложения в IIS оттуда ваш current
вернет что-то другое, чем Current
веб-интерфейса.
если вам нужно передать некоторые свойства, такие как имя пользователя, заголовок ответа или запроса и т. д., передать множество параметров или создать свой собственный класс для размещения всего, что вам нужно, но не передавать контекст напрямую.
В некоторых случаях, если вы не можете получить контекст или сеанс, это может означать, что вы что-то кодируете неправильно; например, HttpHandlers правильно использует сессию только при реализации IRequireSessionState
и HttpContext
Объект передается обработчику в качестве параметра ProcessRequest
метод.
Я думаю, что в целом всегда есть обходной путь, или ваш дизайн и архитектура не являются правильными, но без необходимости самостоятельно передавать контекст из одного слоя в другой.