我解决不了的错误!解决马上送分!

jc15271149 2005-12-21 10:23:49
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Xml;


private DataSet statesDS;
private string xmlFileName;
private string xsdFileName;

if(!IsPostBack)
{
statesDS = new DataSet();
xmlFileName=Server.MapPath("States.xml");
xsdFileName=Server.MapPath("States.xsd");

FileStream FsXML = new FileStream(xmlFileName,FileMode.Open);
FileStream FsXSD = new FileStream(xsdFileName,FileMode.Open);

XmlTextReader xtrXSD = new XmlTextReader(FsXSD);
statesDS.ReadXmlSchema(xtrXSD);
xtrXSD.Close();
FsXSD.Close();

XmlTextReader xtrXML = new XmlTextReader(FsXML);
statesDS.ReadXml(xtrXML);
xtrXML.Close();
FsXML.Close();

DataTable dt = statesDS.Tables[0];
DataGrid1.DataSource=dt;
DataGrid1.DataBind();
}

对路径“c:\inetpub\wwwroot\MyWebApplication\States.xml”的访问被拒绝。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.UnauthorizedAccessException: 对路径“c:\inetpub\wwwroot\MyWebApplication\States.xml”的访问被拒绝。

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。

若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。
...全文
558 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
redleaf80 2005-12-22
  • 打赏
  • 举报
回复
给States.xml、States.xsd两个文件添加访问权限。
xp: 添加asp_net,完全控制。2003:network service 2000:不存在权限问题,一个everyone全部搞定。
以上权限只能是磁盘文件系统为NTFS的时候
博傻狂徒 2005-12-22
  • 打赏
  • 举报
回复
<identity impersonate="true"/>这一句加到WEB.CONFIG文件里看看。应该能马上解决的。嘿嘿。
buaawjh 2005-12-22
  • 打赏
  • 举报
回复
如果是2003的话,文件目录要对Network Service授权
earthgoshawk 2005-12-22
  • 打赏
  • 举报
回复
赞同 jiji2001的意见
添加asp.net用户
jijl2001 2005-12-22
  • 打赏
  • 举报
回复
添加ASP.NET用户,设置其权限
huguguhu 2005-12-22
  • 打赏
  • 举报
回复
试一下啊,
xmlFileName=Server.MapPath("\MyWebApplication\States.xml");
WTaoboy 2005-12-22
  • 打赏
  • 举报
回复
点击文件夹属性,添加asp.net 访问权限
jc15271149 2005-12-22
  • 打赏
  • 举报
回复
我换2000SERVER系统也不好使,服了
mailxin 2005-12-22
  • 打赏
  • 举报
回复
众人拾柴火焰高,程序目录增加asp.net用户或者xml文件增加asp.net用户
yinshuhai 2005-12-22
  • 打赏
  • 举报
回复
同意,么有设置访问权限,设置下就好了!
happyamei 2005-12-22
  • 打赏
  • 举报
回复
基本上楼上都说完了,应该是这些方法
豆豆浆爸爸 2005-12-22
  • 打赏
  • 举报
回复
权限问题,把asp.net用户的权限加上就行
xieyun9958 2005-12-21
  • 打赏
  • 举报
回复
再说一次吧...如果还不懂的话就不知道怎么说了!!!

打开IIS...找到你的程序名.点右键..弹出一个框..点击目录安全性.
点编辑,在用户名的右边点浏览.按一下高级.再点一下立即查找..把ASPNET添加进去就OK..
xieyun9958 2005-12-21
  • 打赏
  • 举报
回复
“c:\inetpub\wwwroot\MyWebApplication\States.xml”的访问被拒绝。
在MyWebApplication里添加!!
若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。


错误提示都说得很明白了......
Bogard 2005-12-21
  • 打赏
  • 举报
回复
关注,学习,帮顶!
jc15271149 2005-12-21
  • 打赏
  • 举报
回复
我晕,添加完了还是不好使
xieyun9958 2005-12-21
  • 打赏
  • 举报
回复
XP的麻烦一点...要在管理工具那里添加的...

打开控制面板--管理工具--计算机管理--本地用户组

点一下组...看到Administraotr,点右键按属性!!

点添加..点高级--立即查找-把ASPNET添加到Administrator组中就可以了!!
jc15271149 2005-12-21
  • 打赏
  • 举报
回复
不知道在哪添加,找不到啊
xieyun9958 2005-12-21
  • 打赏
  • 举报
回复
可以用了吗????只要添加ASP.NET用户就OK
jc15271149 2005-12-21
  • 打赏
  • 举报
回复
不好使呀,咋办那
加载更多回复(19)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧