メソッドがスレッドで実行されるとき。メソッドを呼び出す前に、そのメソッドを含むクラスの(デフォルト/パラメーター化された)コンストラクターも呼び出しますか。
public class Class1
{
HttpContext h = null;
public Class1(HttpContext _h)
{
h = _h;
}
public Class1()
{
if (h != null)
{
HttpContext.Current = h;
}
}
ManualResetEvent[] wsManualResetEvents = new ManualResetEvent[1];
public void callThread()
{
HttpContext.Current.Session["ok"] = "ll";
wsManualResetEvents[0] = new ManualResetEvent(false);
ThreadPool.QueueUserWorkItem(new WaitCallback(o => me()));
if (wsManualResetEvents != null && wsManualResetEvents[0] != null)
{
WaitHandle.WaitAll(wsManualResetEvents);
}
}
private void me()
{
var d = HttpContext.Current.Session["ok"].ToString();
wsManualResetEvents[0].set();
}
}
私がやろうとしているのは、実行中のスレッドと同等のスレッドの httpcontext を設定することです。