首页 新闻 会员 周边

关于写权限的问题!

0
悬赏园豆:50 [已关闭问题]
<P>很奇怪的问题。</P> <P>使用 test.aspx 页面</P> <P>&nbsp;&nbsp;&nbsp; 在里面 写 log.txt(此文件在根目录下) 没有问题,可以写入、改写。</P> <P>使用 global.asax 中的&nbsp;&nbsp;&nbsp;Application_Start 事件中</P> <P>&nbsp;&nbsp; 写 log.txt。 报错。</P> <H2><STRIKE><I>对路径“d:\hosts\120r\web\log.txt”的访问被拒绝。</I> </STRIKE></H2> <P><FONT face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "><STRIKE><B>说明: </B>执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 <BR><BR><B>异常详细信息: </B>System.UnauthorizedAccessException: 对路径“d:\hosts\120r\web\log.txt”的访问被拒绝。 <BR><BR>ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 &lt;identity impersonate="true"/&gt; 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 <BR><BR>若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。<BR></STRIKE></FONT></P> <P><FONT face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "><STRIKE>&nbsp;</STRIKE>一样的代码! 只是操作的时间 不通 为什么不行! 是那里的权限 有问题吗?</FONT></P> <P><FONT face=Arial>代码如下。很简单。</FONT></P> <P>&nbsp;&nbsp;&nbsp;using(StreamWriter sw1 = new StreamWriter(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"log.txt"),true,System.Text.Encoding.Default))<BR>&nbsp;&nbsp;&nbsp;{</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;sw1.WriteLine("start");<BR>&nbsp;&nbsp;&nbsp;&nbsp;sw1.Close();<BR>&nbsp;&nbsp;&nbsp;}<BR></P> <P>高人们 给 指点一下。</P>
shengnet的主页 shengnet | 初学一级 | 园豆:31
提问于:2008-04-24 11:17
< >
分享
其他回答(2)
0
把 System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"log.txt" 换成 HttpContext.Current.Server.MapPath("/log.txt") 试试看。
deerchao | 园豆:8367 (大侠五级) | 2008-04-24 18:13
0
可能是启动问题吧 虽然有点忘了,不过,你可以找找看 ASP.NET 在启动的时候, IIS 和 .NET 之间调用的状态, 另外,要编写日志,建议,查看 .NET 里内置的 日志记录功能,
G yc {Son of VB.NET} | 园豆:2006 (老鸟四级) | 2008-04-26 22:32
0
給hosts目錄授予ASPNET權限就可以了,子目錄要繼承此權限
jimeper | 园豆:260 (菜鸟二级) | 2008-05-07 05:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册