使用ASP.NET web服务时,锁定(应用程序)是个好主意吗?

使用ASP.NET web服务时,锁定(应用程序)是个好主意吗?,asp.net,Asp.net,我在ASP.NET web服务的应用程序[]状态包中存储了一个集合。为了防止同时从不同的方法写入集合,可以将代码包围在 lock(Application){} 街区?我认为应用程序是每个应用程序的一个单例变量,它将成为一个很好的候选标志。有什么不想要的效果吗?如果是这样的话,有什么更好的方法来保护我的收藏呢?锁定应用程序并没有什么问题,就像您的情况一样。但是,应采用其方便提供的方法进行不同的操作: Application.Lock(); Application["key"].Manipula

我在ASP.NET web服务的应用程序[]状态包中存储了一个集合。为了防止同时从不同的方法写入集合,可以将代码包围在

lock(Application){} 

街区?我认为应用程序是每个应用程序的一个单例变量,它将成为一个很好的候选标志。有什么不想要的效果吗?如果是这样的话,有什么更好的方法来保护我的收藏呢?

锁定应用程序并没有什么问题,就像您的情况一样。但是,应采用其方便提供的方法进行不同的操作:

Application.Lock();
Application["key"].Manipulate(); //like update collection or something
Application.Unlock();