ASP.NET4.0WebアプリケーションのGlobal.asaxに以下のコードがあります
protected void Application_Start(object sender, EventArgs e)
{
Dictionary<string, string> AllCompanyList = new Dictionary<string, string>();
Application.Add("GlobalCompanyList", AllCompanyList);
Thread ProcessCompanyThread = new Thread(new ParameterizedThreadStart(CompanyThread.Start));
ProcessCompanyThread.IsBackground = true;
ProcessCompanyThread.Start(AllCompanyList);
}
別のページでアクセスします
Dictionary<string, string> AllCompanyList = (Dictionary<string, string>)HttpContext.Current.Application["GlobalCompanyList"];
まず、「GlobalCompanyList」にはIISの存続期間中にインスタンスが1つしかないのですか?
次に、「GlobalCompanyList」スレッドはProcessCompanyThreadでアクセスまたは変更しても安全ですか?そうでない場合は、スレッドセーフにするために何をする必要がありますか?
手伝ってくれてありがとう。