我在用 ASP.NET 中的单例生活方式实例化的类中使用只读字典对象。没有锁定对字典对象的访问。
考虑到可能有许多 Web 请求同时访问它,您是否认为围绕读取此对象会有任何 .NET 争用
最佳答案
这道题其实是关于字典线程安全的,与Windsor无关。
假设您使用的是标准 .NET 集合,
MSDN docs for System.Collections.Generic.Dictionary<K,V>
说:
A Dictionary(TKey, TValue) can support multiple readers concurrently, as long as the collection is not modified.
但如果您有并发编写器,它就不是线程安全的,这意味着它可能不会在内部锁定任何东西,所以我不希望有任何争用。
关于c# - 使用 CaSTLe 单例会导致 ASP.NET Web 应用程序中的争用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8153270/