1
なぜ新しいスレッド内でこのコードが呼び出された場合、このコードは機能しませんか?返されるエラーは、これがProfileBase.GetProperty()は新しいスレッドでは機能しません
GetFullName(m);
を作品
return pb.GetPropertyValue("Name").ToString();
にObject reference not set to an instance of an object.
であり、一方、このdoesntの
Thread t = new Thread(GetFullName);
t.IsBackground = true;
t.Start();
public string GetFullName(string username)
{
ProfileBase pb = ProfileBase.Create(username);
return pb.GetPropertyValue("Name").ToString();
}
はHttpContext.Currentは、新しいスレッド上で利用できるようにすることを可能にする方法はありませんか? –
2つあります:HttpContext.Currentの設定ツールを使用して手動で設定するか、LogicalCallContext(HttpContext.Currentがそれに由来)を転送できます。私は後者をどうやってやるのか分かりません。 – usr
ThreadPool.QueueUserWorkItemは実行コンテキストを転送すると思います。あなたは新しいスレッドの代わりにそれを試すことができます。 – usr