因为节省数据库资源,我用XML去存储用户的操作
但是现在发现问题了,,同时触发的时候  只有第一个人可以用
其他人打开就是 XML 被另一进程访问,,
我想过用 
try
{
}
Catch{}给包住 循环保存,,但是这样就会造成延迟,或者严重点就是锁死我想同时触发 同时修改XML 该如何实现?  在不创建多个XML的情况下

解决方案 »

  1.   

    不太可能同时让你修改的,如同要处理数据库并发一样,在一个用户修改时,文件会上锁。你试下一步处理看看,也就是要操作那个xml的用户使用队列处理,在前一个完成后才开放给队列里后面的用户
      

  2.   

    你说的  队列处理方式,,就是在等待,,我想同时触发,,,等待的话
    我说的那个 try catch  做一个方法  做一个类似递归,,进行到catch的话就重新调用方法 也可以实现
    但是我不想这样,,我想同时触发,,,,
    哎,,,好像真的是不可以,,毕竟同一个文件不可能被两个人同时保存
      

  3.   

    为什么本着节约数据库资源的考虑采用LZ提的方案。LZ觉得用XML这个方案,效率比数据库高?还是存储空间更小。LZ又要多人读写,这不就多出一个并发访问的问题么?
    现在大型的DBMS就是为了解决大客户并发访问的问题的,我没看出LZ有什么必要放弃这个特性,自己搞一套。
      

  4.   

    我觉得最简单的办法就是使用数据库,而不是xml。
    除非你的xml保存只读数据。
      

  5.   

    操作完成即时释放资源......
    [align=center]*********************************************************** 
                       欢迎使用 CSDN 小秘书
                      .Net 学习QQ群,欢迎加入: 67784580
    ***********************************************************
    [/align]
      

  6.   

    xml只是一个文本文件。文本文件不支持并发。