共享XElement作为SiteMap

时间:2009-06-02 12:44:58

标签: .net thread-safety xelement

我有一个自定义CMS,我在其中使用静态XElement作为站点地图。当地图发生更新时,我正在同步编写器线程,但是我没有对读者做任何事情,只是允许他们在需要时抓取XElement。

在测试中,我认为如果我从读者线程枚举XElement,当我在另一个写入线程上更新它时,我会得到一个例外。情况并非如此。只是想知道是否有人可以向我解释他们是否看到这种方法有任何重大问题。它看起来不应该是安全的,但到目前为止我所有的测试都表明它是。

1 个答案:

答案 0 :(得分:0)

使用System.Threading.ReaderWriterLock控制对XElement的访问。这样,您可以同步所有读者和任何作者,而不会阻止并发读取活动。