[英]How to use Session Variable inside the Thread(Background process ) C#
I have an Issue in Storing data in Session inside the Thread(Background Process) 我在Thread(后台进程)内部的Session中存储数据时遇到问题
DataTable dtmultifamilyurlvalues = new DataTable();
dtmultifamilyurlvalues.Columns.Add("FamilyHomes");
dtmultifamilyurlvalues.Columns.Add("AllListiedCurrent");
dtmultifamilyurlvalues.Columns.Add("AllListiedTrend");
dtmultifamilyurlvalues.Columns.Add("BottomCurrent");
dtmultifamilyurlvalues.Columns.Add("BottomTrend");
dtmultifamilyurlvalues.Columns.Add("LowerCurrent");
dtmultifamilyurlvalues.Columns.Add("LowerTrend");
dtmultifamilyurlvalues.Columns.Add("UpperCurrent");
dtmultifamilyurlvalues.Columns.Add("UpperTrend");
dtmultifamilyurlvalues.Columns.Add("TopCurrent");
dtmultifamilyurlvalues.Columns.Add("TopTrend");
//House Size
dtmultifamilyurlvalues.Rows.Add("Median House Size", Getmedian(familtypevalue, "a", "Sqft:MEDIAN"), GetTrends(familtypevalue, "a", "Sqft:MEDIAN_trend") + " " + GetTrends(familtypevalue, "a", "Sqft:MEDIAN_trend_strength"),
Getmedian(familtypevalue, "b", "Sqft:MEDIAN"), GetTrends(familtypevalue, "b", "Sqft:MEDIAN_trend") + " " + GetTrends(familtypevalue, "b", "Sqft:MEDIAN_trend_strength"),
Getmedian(familtypevalue, "l", "Sqft:MEDIAN"), GetTrends(familtypevalue, "l", "Sqft:MEDIAN_trend") + " " + GetTrends(familtypevalue, "l", "Sqft:MEDIAN_trend_strength"),
Getmedian(familtypevalue, "u", "Sqft:MEDIAN"), GetTrends(familtypevalue, "u", "Sqft:MEDIAN_trend") + " " + GetTrends(familtypevalue, "u", "Sqft:MEDIAN_trend_strength"),
Getmedian(familtypevalue, "t", "Sqft:MEDIAN"), GetTrends(familtypevalue, "t", "Sqft:MEDIAN_trend") + " " + GetTrends(familtypevalue, "t", "Sqft:MEDIAN_trend_strength"));
HttpContext.Current.Session["datatablevalues"] = dtmultifamilyurlvalues;
//HttpRuntime.Cache.Insert("multifamilyAltos", dtmultifamilyurlvalues,null,System.Web.Caching.Cache.NoAbsoluteExpiration, new TimeSpan(0, 10, 60), System.Web.Caching.CacheItemPriority.Default,null);
});
Multifamily.IsBackground = true;
Multifamily.Start();
This Through an error object reference error, 通过错误对象引用错误,
And I had used HttpRuntime.Cache also but when i run in two systems it produces same results it should be different based on the input(I think it is overriding the value) 我还使用了HttpRuntime.Cache,但是当我在两个系统中运行时,它产生的结果相同,基于输入,它应该是不同的(我认为这是覆盖值)
And i searched to web and know that httpcontext can't be work inside the Thread. 而且我搜索了网络并知道httpcontext不能在Thread中工作。
So,Please tell me a solution for this Issue. 所以,请告诉我这个问题的解决方案。
var data= SynchronizationContext.Current;
Task t = Task.Run(() => {
string sessionValue = null;
data.Post(() => {
sessionValue = HttpContext.Current.Session["value"];
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.