我在MVC某个Action中需要访问一个服务器文件,其中包含写文件操作,当多个用户同时访问这个action的时候我如何去避免文件访问的冲突呢??? 我试了进程斥量实现排他访问 结果不行 各位大神有没有好的解决方案?
不要搞什么进程了, 虚得很。
访问前判断此文件处理什么状态就好了。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
FileInfo fi = new FileInfo("d:\\1.txt");
//如果不是只读状态
if (!fi.IsReadOnly)
{
//执行写操作
}
Console.Read();
}
}
}
顶一下,求大神来解答
使用文件锁(FileLock)试下
我调试了一下 , 发现在连续访问发生冲突的时候报的错误是,该问价正被另一进程访问, 那么说明发生的不是线程冲突而是进程冲突。这样的话线程有用的斥量都失去了作用,进程冲突该怎么解决呢?
求大神解答