BundleTable.EnableOptimizations是线程安全的吗?

问题描述:

我向我的应用程序添加了一个逻辑,以启用调试生产。 我通过debug=true查询字符串,我设置BundleTable.EnableOptimizations to false(并避免优化我的js文件)在Application_BeginRequest()。我的问题是it thread safe? 我尝试通过锁定代码来运行一些测试,它似乎是线程安全的(尽管BundleTablestatic),但我仍然有一些担心。BundleTable.EnableOptimizations是线程安全的吗?

由于提前, 利奥尔

与大多数.NET框架,答案是

任何公共静态此类型的成员(在Visual Basic中的Shared)都是线程安全的。任何实例成员不保证是线程安全的。

(从MSDN)

由于BundleTable是一个静态类,这意味着所有的属性是线程安全的。

也就是说,BundleCollection本身并不是线程安全的 - 只要你不想在同一个请求的多个线程中使用它,这应该不是问题(反正这是一个坏主意,原因很多)。