我有一个aps.net网络服务(asmx),我需要访问包含网络服务(asmx页面)的项目会话。
在Web服务的项目(网站)中,我有会话Test
,在同一解决方案的另一个项目中,我调用了一个改变会话Test
的值的web方法。
如何从其他项目调用的WebMethod更改会话值?
我试过这个:(但它不起作用)
[WebMethod(EnableSession = true)]
public void ChangeSession()
{
Context.Session["Test"] = "Some value";
}
我试过这个:(也不行)
HttpContext.Current.Session["Test"] = "Some value";
答案 0 :(得分:0)
我找到了一种方法:
我创建了新的aspx页面并使用HttpWebRequest
在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";
}