如何从其他项目调用的WebMethod更改会话值?

问题描述 投票:0回答:1

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

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

如何从其他项目调用的WebMethod更改会话值?

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

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

我试过这个:(也不行)

HttpContext.Current.Session["Test"] = "Some value";
c# web-services session asmx
1个回答
0
投票

我找到了一个方法:

我创建了新的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";
}
© www.soinside.com 2019 - 2024. All rights reserved.