【问题标题】:How to Serialize httpcontext Object and passing through webservice from an asp.net server control?如何序列化 httpcontext 对象并从 asp.net 服务器控件传递 web 服务?
【发布时间】:2011-10-18 15:55:43
【问题描述】:

我想通过 webservice 传递 httpcontext 对象,方法是从 asp.net 服务器控件序列化它。但它不适用于服务器控制。它正在与 web 应用程序一起使用。请帮助我找到解决方案。

【问题讨论】:

  • 我正在尝试通过 web 服务从 asp.net 服务器控件传递 httpcontext。但这不起作用。是否可以这样做?如果可能的话,请指导我。

标签: asp.net servercontrol


【解决方案1】:

将 HttpContext.Current 对象从 Web 应用程序传递到 Web 服务或此类通信的任何其他组合是没有意义的。

HttpContext 类及其静态成员 Current 应该在 IIS 内运行的 Web 应用程序或 Web 服务中可供您使用和初始化。

如果您的 Web 服务配置为在另一个应用程序池或 IIS 中的另一个应用程序中运行,您的 current 将返回与 Web 前端的 Current 不同的内容。

如果您需要传递一些属性,如用户名、响应或请求标头等,请传递一堆参数或创建自己的类来托管您需要的所有内容,但不要直接传递上下文。

在某些情况下,如果您无法检索上下文或会话,则可能是您编码错误;例如,HttpHandlers 仅在实现 IRequireSessionState 时正确使用 Session,并且 HttpContext 对象作为 ProcessRequest 方法的参数传递给处理程序。

我认为总的来说,总有一种方法可以解决,或者你的设计和架构不合适,但不需要自己将上下文从一层传递到另一层。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    相关资源
    最近更新 更多