use*_*725 5 .net xml performance
我有两个独立运行的.NET应用程序(可以以任何顺序启动,或者可能只运行一个),它使用XML作为数据存储.因此,两个应用程序都可以读写XML文件.为了保持数据更新,我在读取和写入操作之前每次都从磁盘加载XML文件.我正在使用XPath查询来查询特定节点.现在在这个方法中观察到了性能问题,因为每秒都有一个应用程序对XML进行读写请求(使用轮询,并且无法更改)我不确定究竟是什么导致了性能损失,但我相信它是连续的读写.
我尝试使用.NET 4.0中的内存映射文件,但我限制使用.NET 3.5而不是更高版本.
任何人都可以帮我解决这个问题吗?
注意:XML节点具有一些公共属性,不同数量的属性和一个用于XPath查询的ID.
尝试以独占方式打开该文件。另一个应用程序可能会崩溃,但如果它没有崩溃,您将肯定知道一件事:它无法在一个周期内对共享文件调用太多 I/O 负载,因为它的所有访问尝试都将立即失败。
希望它会稍等一下并重试,这对您来说应该很有效。
using (Stream iStream = File.Open("myfile.xml",
FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1735 次 |
| 最近记录: |