[英]Reusing same session from asp.net aspx page to ashx handler
我試圖從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頁面的同一會話,這意味着我必須在頁面的相同請求上下文中執行處理程序。
如果您指定.ashx類使用IRequiresSessionState接口,例如
public class myClass : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
}
然后,您應該能夠通過HttpContext.Current.Session
訪問當前會話值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.