【发布时间】:2016-03-01 13:45:08
【问题描述】:
目前我正在尝试创建两个从文件读取和写入同一文件的控制器方法:
public ActionResult UploadText(string name)
{
var path = Path.Combine(Server.MapPath("~/text/"), name);
var fileContents = System.IO.File.ReadAllText(path);
ViewData["text"] = fileContents;
ViewData["textName"] = name;
return View();
}
[HttpPost]
public ActionResult TextPost(string textName)
{
string text = Request["text-content"];
var path = Path.Combine(Server.MapPath("~/text/"), textName);
System.IO.File.WriteAllText(path, text);
return RedirectToAction("Index");
}
读取文件内容并写入有效,但第二次无法读取,出现File can't be accessed because it is being used by another process错误。
我做错了什么?
【问题讨论】:
-
这不是死锁,单例也不是解决死锁的办法。
-
@ProgrammingDude 如何正确操作?
-
如果两个并发请求到达编辑同一个文件会发生什么?
-
@ProgrammingDude File.ReadAllText 和 File.WriteAllText 不需要显式关闭文件。
-
我明白了。很抱歉造成混乱...评论已删除。
标签: c# asp.net asp.net-mvc