猿问

Global.asax中Application_Start中读取txt文本提示没有权限访问?急

对路径“d:\freehost\dfd\web\ttoo\1005selected.txt”的访问被拒绝。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.UnauthorizedAccessException: 对路径“d:\freehost\lovko\web\kfoo\1005selected.txt”的访问被拒绝。

我把对这个txt文件的访问写Application_Start事件响应该函数中,报上面的异常!

等Application_Start异常后,再次刷新,进入其它页面,进行同样对该"txt"的操作,一切正常!

所以想请知道原因的朋友帮忙解答下,感激!

疑问:如果是权限问题,为什么只有在Global.asax中的时候才会发生异常呢!?如果把同样的代码写在其它的页面或是方法里一切正常!

jeck猫
浏览 449回答 3
3回答

守候你守候我

你是如何操作txt文件的。 Application_Start只在Application启动时执行一次,你再刷新或进入其他页面时,就不会再触发这个事件了。

茅侃侃

因为浏览是多线程的,访问这个文件时,加一个排他锁应该就可以了

holdtom

我试了下,用了一个静态变量在标记状态,让它只执行一次,但是好还是不行! static bool isCreated = false; void Application_Start(object sender, EventArgs e) { string cpath = HttpContext.Current.Server.MapPath("."); if (!isCreated) { isCreated = true; 代码像上面的一样!
随时随地看视频慕课网APP
我要回答