.net - asp.net应用程序的多用户XML文档 “database”

标签 .net asp.net xml multithreading mutex

我在考虑一种允许多个用户在asp.net应用程序中对XML文档进行CRUD访问的方法。这些操作显然必须在多线程环境的假设下进行。

出于性能方面的原因,缓存文档并在该缓存版本上使用互斥体是否有意义?何时将更改刷新到物理XML文档?

感谢所有建议(不幸的是,此时“使用数据库”还不是一个选项)

最佳答案

缓存XML文档当然很有意义,因此您不需要为每个用户/请求从磁盘读取它。您应该同步对其的访问。一个好主意是将访问封装在单个类中,并使用ReaderWriterLockSlim进行同步。读取数据时,获取读取锁并从内存中读取。写入时,获取写入锁,写入数据并替换内存中的副本。

关于.net - asp.net应用程序的多用户XML文档 “database”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2699805/

相关文章:

asp.net - 在 Application_AuthenticateRequest 期间检测在 Controller 操作上设置了哪些属性

xml - 在 Delphi 中哪里可以找到 XML 数据绑定(bind)向导?

sql-server - 如何在 SQL XPath 中获取子节点值和父节点值

asp.net - 将ASP.NET的 "ReturnURL"转为绝对URL

javascript - 在 .NET WebForms 中使用 jquery 触发简单的 onchange 方法

java - 在 Java Xerces ("[Fatal Error] :1:1: Content is not allowed in prolog."中禁用日志记录)

c# - 为什么 XmlSerializer.Order 这样做

c# - 相同的方法但不同的签名取决于 .NET 框架版本?

c# - Blob 存储 - 直接处理其上的文件

c++ - 将非托管 C++ 代码转换为托管 C++ 以便从 C# 调用