在我的asp.net应用程序中,我想在HttpApplicationState.
我设置数据的代码如下所示:
Application.Lock();
Application.Set("Name", "Value");
Application.UnLock();
当我阅读文档时,它说这HttpApplicationState是隐式线程安全的。Application.Lock()但是在许多博客上都写到我们应该Application.Unlock()在将数据写入HttpApplicationState.
另一方面,我找不到任何文档说我们应该在从HttpApplicationState或清除数据时使用锁(使用Application.RemoveAll())方法。
我的问题是:
- 我们在调用时不应该注意线程安全
RemoveAll吗?在我的应用程序中,一个线程可能正在读取数据,HttpApplicationState而另一个线程可以调用RemoveAll. - 在这种情况下,当可以同时从两个不同的线程读取和清除
HttpApplicationState时,读取是否也不是线程安全的?