【问题标题】:How can I change the value of session from WebMethod which call from another project?如何从另一个项目调用的 WebMethod 更改 session 的值?
【发布时间】:2018-06-06 17:20:04
【问题描述】:

我有一个 aps.net Web 服务 (asmx),我需要访问包含该 Web 服务(asmx 页面)的项目会话。

在 Web 服务的项目(网站)中,我有会话 Test,而在同一解决方案的另一个项目中,我调用了一个 Web 方法来更改会话 Test 的值。

如何更改从另一个项目调用的 WebMethod 的 session 值?

我试过这个:(但它不起作用)

[WebMethod(EnableSession = true)]
public void ChangeSession()
{
    Context.Session["Test"] = "Some value";
}

我试过这个:(也不起作用)

HttpContext.Current.Session["Test"] = "Some value";

【问题讨论】:

    标签: c# web-services session asmx


    【解决方案1】:

    我找到了办法:

    我创建了一个新的 aspx 页面,并使用 HttpWebRequest 从 asmx 给他打电话

    在 asmx 中:

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("<my domain>/ChangeSessionValue.aspx");
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    

    在aspx中:

    protected void Page_Load(object sender, EventArgs e)
    {
        Session["Test"] = "Some Values";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-24
      • 2019-11-07
      • 1970-01-01
      • 2019-11-01
      • 2021-06-14
      • 2018-02-27
      • 1970-01-01
      • 2014-12-10
      相关资源
      最近更新 更多