Как сериализовать объект httpcontext и пройти через веб-сервис с серверного элемента управления asp.net?

Я хочу передать объект httpcontext через веб-сервис, сериализовав его из серверного элемента управления asp.net. но он не работает с управлением сервером. Работает с веб-приложением. Пожалуйста, помогите мне в поиске решений.

1 ответ

Это не имеет смысла, чтобы передать это HttpContext.Current объект из веб-приложения в веб-сервис или любые другие комбинации такого общения.

HttpContext класс и его статический член Current должны быть доступны и инициализированы для вас в веб-приложении или веб-службах, работающих внутри IIS.

если ваши веб-службы настроены для запуска из другого пула приложений или другого приложения в IIS оттуда ваш current вернет что-то другое, чем Current веб-интерфейса.

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

В некоторых случаях, если вы не можете получить контекст или сеанс, это может означать, что вы что-то кодируете неправильно; например, HttpHandlers правильно использует сессию только при реализации IRequireSessionState и HttpContext Объект передается обработчику в качестве параметра ProcessRequest метод.

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

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