排他访问-求解决MVC中文件访问冲突的问题

问题描述

求解决MVC中文件访问冲突的问题
我在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)试下

解决方案四:
我调试了一下 , 发现在连续访问发生冲突的时候报的错误是,该问价正被另一进程访问, 那么说明发生的不是线程冲突而是进程冲突。这样的话线程有用的斥量都失去了作用,进程冲突该怎么解决呢?

解决方案五:
我调试了一下 , 发现在连续访问发生冲突的时候报的错误是,该问价正被另一进程访问, 那么说明发生的不是线程冲突而是进程冲突。这样的话线程有用的斥量都失去了作用,进程冲突该怎么解决呢?
求大神解答

时间: 2024-09-17 03:48:39

排他访问-求解决MVC中文件访问冲突的问题的相关文章

类中数据库访问-求php开发中数据库连接创建和关闭的较好时机问题

问题描述 求php开发中数据库连接创建和关闭的较好时机问题 刚刚学php不久,在用php写一个毕业设计,可是在数据库连接的地方犯了难, 最开始用的是配置文件的方法, 在config.inc.php中设置了数据库连接的一些参数,比如说数据库名密码等等, 然后在db.conn.php中创建一个mysqli对象,连接上数据库,并设置它的编码. 后来在应用的过程中发现特别麻烦,每次都要用include将这些文件导入,然后再使用 $db进行数据库的访问,可是后来在一些类中处理,打算在构造函数中创建数据库连

新人刚刚接触MVC,求问MVC中如何实现点击导入按钮上传一个excel文件,并将其中内容显示在页面的表格中

问题描述 点击导入按钮转到这个页面,点击确定之后回到主页面,显示excel里面的内容. 解决方案 解决方案二: 解决方案三:照着他这写,怎么点击了没反应呢?解决方案四:跟踪json有值返回没有?有的话就用JS截取值填充table

如何解决MySQL中文件未找到的现象

如果遇到"ERROR '...'未发现(errno: 23)","无法打开文件:... (errno: 24)",或来自MySQL的具有errno 23或errno 24的其它错误,它表示未为MySQL服务器分配足够的文件描述符.你可以使用perror实用工具来了解错误编号的含义: shell> perror 23 错误代码23:文件表溢出 shell> perror 24 错误代码24:打开文件过多 shell> perror 11 错误代码11

解决excel中文件1指定的列复制到文件2中指定的列

这个问题已经困扰我好几天了,具体是什么问题呢.就是我有两个excel表格文件名为1和2,我现在想把文件2中指定列的值提取到文件1中相对应的列中. 如果只是这两个文件,自己手工复制粘贴一下,也就吧了.可现在的问题是,有100多个文件呢.要是都手工来弄的话,那人都要崩溃了. 既然想偷懒,那就先去百度.google上找找了.呵呵,也被咱找到了类似的代码.是需要VBA的呢,宏,你懂得.代码修改如下: Sub hs() Dim sh As Worksheet, sht As Worksheet Set s

transactions-hibernate多对多问题,求解决!

问题描述 hibernate多对多问题,求解决! 映射文件如下: <hibernate-mapping> <class name="com.bdqn.entity.Student" table="STUDENT"> <id name="id" type="java.lang.Integer" column="STUID"> <generator class=&quo

磁盘-计算机中文件储存的问题

问题描述 计算机中文件储存的问题 不同路径下同一个文件(就是一个文件为放在了两个不同地方,比如c盘d盘,或者不同文件夹),那么在磁盘中,这个文件只占用了一块存储区,还是每个地方各占用一块? 解决方案 对于绝大部分的文件系统,各自占用各自的.但是也有例外,比如微软曾经有一个内部工具,允许在cdfs上创建共享链接的文件,从而制作出那种超容量的光盘来. 解决方案二: 解决计算机中文件的后缀名显示问题

java-IntelliJ IDEA中 子项目文件路径问题,求解决

问题描述 IntelliJ IDEA中 子项目文件路径问题,求解决 先看图,然后我仔细解释 最近发现找不到文件,同样的代码在eclipse中可以正常找到,对于idea不熟悉,所以来此请教,我是把一些文件拷resources目录下,发现找不到了,使用相对路径,我看到target/classes中是编译过去了的啊,这个路径该怎么写? 在eclipse中 (1) 主项目包含的两个模块 topsoft-test(web项目) topsoft-utils(java maven项目) (2)(3)(4) 根

vs2008-在VS08中建立了2个对话框,设置头文件和添加对话框代码后出现这种情况,求解决方法

问题描述 在VS08中建立了2个对话框,设置头文件和添加对话框代码后出现这种情况,求解决方法 这是头文件 这是对话框代码 这是情况 这是两个对话框名 解决方案 唉,等了这几天,没有一点实质性的建议 解决方案二: 双击下错误提示,看看错误指向了哪一行 解决方案三: 看看代码中的标点符号是不是误写成全角的了. 解决方案四: 对话框代码第3行 解决方案五: 报错那行写多了东西了:仔细看看 解决方案六: 看上面的警告信息,你的文件里面对应代码行处是不是含有其他一些字符,比如看不见的字符等,所以影响编译了

asp.net为什么会生成两个一样的DLL文件啊,求解决

问题描述 asp.net为什么会生成两个一样的DLL文件啊,求解决 今天在发布网站的时候,总是会自动生成两个一样的DLL文件,怎么删都没用,我想知道这个是什么原因 DLL文件是这个 aspnetpager.resources.dll 谢各位大神了 解决方案 本来就是这样,所有的控件都会先在obj里生成,再复制到bin中.这个是分页控件的资源dll. 解决方案二: 关于AspNetPager.resources.dll的疑问 解决方案三: asp.net抄jsp的.首次访问或编辑修改后,asp.n