我正在尝试从asp.net页面调用ashx处理程序并从处理程序中检索xml数据。
var url = "http://localhost/Settings/MyHandler.ashx?errors=false";
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
using (var response = (HttpWebResponse)request.GetResponse())
{
using (var stm = response.GetResponseStream())
{
using (var sr = new StreamReader(stm))
{
var data= sr.ReadToEnd();
}
}
}
现在,由于asp.net为每个webrequest创建新会话的性质,我无法重用从asp.net页面到ashx处理程序的相同会话。
这两个文件来自同一个项目。
如何重用asp.net中的相同会话到ashx处理程序。?
请注意:我已经标记了我的处理程序来实现IRequireSessionState,所以它有会话。我的问题是aspx页面和ashx处理程序有两个不同的会话..每当我调用处理程序时,它会创建一个新的会话。但我必须在我的处理程序中重用相同的aspx页面会话,这意味着我必须在我的页面的同一请求上下文中执行处理程序。
答案 0 :(得分:1)
如果指定.ashx类使用IRequiresSessionState接口,例如
null
{
}
然后,您应该可以通过public class myClass : IHttpHandler, System.Web.SessionState.IRequiresSessionState