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

#asp.net #servercontrol

#asp.net #servercontrol

Вопрос:

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

Комментарии:

1. я пытаюсь передать httpcontext через веб-сервис из asp.net управление сервером. но это не работает. Возможно ли это сделать? Если возможно, пожалуйста, направьте меня.

Ответ №1:

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

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

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

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

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

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