异常详细信息:system.unauthorized access异常:对路径“D:/temp1/MyTest.txt”的访问被拒绝。
在windows 2003下,运行Web应用时出现错误:服务器无法处理请求,->对路径“C:/temp/mytest.txt”的访问被拒绝。描述:在执行当前web请求的过程中,发生了未处理的异常。请查看堆栈跟踪信息,了解有关错误的详细信息以及代码中的错误来源。
异常详细信息:system.unauthorized access异常:对路径“D:/temp1/MyTest.txt”的访问被拒绝。
解决方案一
在需要读写的目录中添加网络服务账号。因为在iis 6.0中,默认应用程序池标记有网络服务,所以网络服务帐户用于在进程中运行w3wp.exe进程。我们在运行VS 2003的时候,需要对某个目录进行读写操作。看了下文件夹,发现没有网络服务,可以添加这个账号,选择完全控制解决问题。具体流程:右键点击文件夹-属性-安全-添加-高级-立即查找-选择“搜索结果”下的“网络服务”-确定-确定-确定。解决方案2
在IIS6.0中,这个问题也可以通过将默认应用程序pool-property-label中的Net Service改为Local System来解决。
什么是应用程序池?这是微软的一个全新概念:应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序通过工作进程边界与其他应用程序分隔开,所以一个应用程序池中的应用程序不会受到其他应用程序池中的应用程序所导致的问题的影响。
Windows 2003同时支持两种工作模式,默认为ISS 6.0工作进程隔离模式。工作隔离模式防止一个应用程序或站点停止并影响另一个应用程序或站点,这大大增强了IIS的可靠性。那么如何设置两种工作模式呢?
启动IIS管理器,右键单击该网站,并选择属性以打开属性对话框(图1)。在IIS 6.0工作进程隔离模式下,所有应用程序代码都在隔离环境中运行。他们是如何被隔离的?Windows 2003增加了应用程序池。工作进程隔离模式允许客户创建多个应用程序池,每个应用程序池可以有不同的配置。因为这些应用程序池直接从内核而不是WWW服务接收请求,所以性能和可靠性得到了增强。要隔离在同一台计算机上运行但属于不同网站的Web应用程序,您需要为每个网站创建单独的应用程序池。
创建应用程序池
在IIS管理器中,打开本地计算机,右键单击“应用程序池”,然后选择“新建应用程序池”(您必须处于工作进程隔离模式才能构建应用程序池)。在“应用程序池名称”框中,输入新的应用程序池名称。如果出现在“应用程序池ID”框中的ID(例如:AppPool #1)不是您想要的,您可以重命名它。如果单击了“将现有应用程序池用作模板”,请在“应用程序池名称”框中右键单击要用作模板的应用程序池。最后点击【确定】。
指派应用程序池
在IIS管理器中,右键单击要为其分配应用程序池的应用程序,然后单击“属性”。单击“主目录”选项卡,确认您正在分配的目录或虚拟目录的“应用程序名称”是否已填写。如果尚未填写应用程序名称框,请单击创建,然后输入名称。
在“应用程序池”列表框中,选择要分配的应用程序池的名称。最后点击【确定】。
在网上查询了很多信息,有下列几种解决方案:
1.安装可能有问题。重新安装并执行命令,aspnet_regiis -i,记得启动。2.将每个人的权限提升到可修改。3.提升aspnet的权限:控制面板-管理工具-计算机管理-本地用户和组。找到ASPNET所属的并添加管理员。4.删除iis虚拟目录并重新生成它。5.将标识impersonate=添加到web.config文件= True/6。要授予ASP.NET对文件的写权限,请在资源管理器中右键单击该文件,选择属性,然后选择安全选项卡。单击添加以添加适当的用户或组。突出显示ASP.NET帐户,并选中所需访问权限对应的复选框。
每个人加写权限7。用xml文件保存系统选项设置,用ASP.NET写,调试操作(ctrl F5)正常。站点的配置后操作报告了一个错误:“对xxx.xml路径的访问被拒绝”。资源管理器-工具-文件夹选项-查看不要选择“使用简单文件共享”,右键单击xml文件,选择“属性”,单击“安全”,添加“aspnet”并选择“完全控制”。