HttpContext.Current在回調函數或在不同的thead上時爲null。我如何解決這個問題。 我見過幾個例子,他們說那裏HttpContext爲NULL
LocalDataStoreSlot slot = Thread.GetNamedDataSlot("SlotName");
return (HttpContext)Thread.GetData(slot);
它不工作..和誠實它沒有太大的意義。
有什麼建議嗎?
HttpContext.Current在回調函數或在不同的thead上時爲null。我如何解決這個問題。 我見過幾個例子,他們說那裏HttpContext爲NULL
LocalDataStoreSlot slot = Thread.GetNamedDataSlot("SlotName");
return (HttpContext)Thread.GetData(slot);
它不工作..和誠實它沒有太大的意義。
有什麼建議嗎?
你需要的HttpContext對象傳遞到什麼都開始與螺紋:
例如
var task = Task.Factory.StartNew(
state =>
{
var context = (HttpContext)state;
//do your stuff here
},
HttpContext.Current);
馬丁
也可以使用封閉。 (我喜歡在封大多數情況下,如果沒有別的。一致性) – 2011-06-29 04:40:26
我有HttpContext的公共靜態WebContext當前 { 得到 { 如果(context.Items [MyContextKey] == NULL){ 鎖 包裝(掛鎖) { instance = new WebContext(); context.Items [MyContextKey] = instance; } } return context.Items [MyContextKey] as WebContext; } } – sekhar
這個WebContext被用在代碼中的任何地方。並如預期,這是不工作時使用線程或CacheItemRemovedCallBack ... – sekhar
它不工作(計算結果爲'null'),因爲'HttpContext.Current'是*線程本地* – 2011-06-29 04:39:33