我有一个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";
我找到了一个方法:
我创建了新的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";
}