【问题标题】:HttpContext.Current is null when WS asmx call class library functionWS asmx调用类库函数时HttpContext.Current为null
【发布时间】:2013-04-04 15:51:13
【问题描述】:

我有一个带有函数 A 的类库,它使用 HttpContext.Current.Session 我还有一个带有 WebMethods 的 asmx 类,其中一个调用类库中的函数 A。 当 WS 方法调用函数 A 时,它会因错误而失败:

Null reference object

HttpContext.Current 为空! 我通过添加属性在 Web 方法中启用了会话:

[WebMethod(EnableSession = true)]

但我不断收到错误消息。 如果我从与 WS 函数相同的项目中的一个简单函数调用函数 A,它可以正常工作。仅从 WS asmx 函数失败。 我需要做什么? 这很重要, 谢谢!!!

【问题讨论】:

  • 尝试将Session 作为参数传递给您的类库函数。
  • 这对我不好,因为类库也被其他项目使用,
  • 由于你的类库使用HTTPContext,它是特定于Web应用程序的,每个Web应用程序都可以相应地传递会话。
  • 你如何在 asmx 服务中调用你的 web 方法?您确定您通过该请求传递了 sessionId cookie 吗?没有该信息就无法重新创建会话。
  • 不,我不向函数发送任何 sessionid。我到底要做什么?谢谢。

标签: c# asp.net web-services asmx session-state


【解决方案1】:

使用 Session["BLABLA"] 代替 HttpContext.Current.Session

[WebMethod(EnableSession = true)] attr.

我的代码适用于此。

祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    相关资源
    最近更新 更多