#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
метода.
Я думаю, что в целом всегда есть обходной путь, или ваш дизайн и архитектура не являются правильными, но без необходимости самостоятельно передавать контекст с одного уровня на другой.