在ASP中使用城堡式单例是否会引起争用?. NET web应用程序
本文关键字:争用 NET 应用程序 web 是否 ASP 城堡 单例 | 更新日期: 2023-09-27 18:14:44
我在ASP.NET中用Singleton方式实例化的类中使用了一个只读字典对象。对字典对象的访问没有锁定。
考虑到可能有许多web请求同时访问
这个问题实际上是关于字典线程安全的,与Windsor无关。
假设你正在使用标准的。net集合,System.Collections.Generic.Dictionary<K,V>
的MSDN文档说:
一个Dictionary(TKey, TValue)可以同时支持多个reader,只要它的集合不被修改。
但是如果你有并发写器,它就不是线程安全的,这意味着它可能不会在内部锁定任何东西,所以我不希望有任何争用。
你用的是哪个版本的温莎城堡?这是3.2版本的一个bug - https://github.com/castleproject/Windsor/issues/34
升级版本