Smi*_*ith 14 asp.net iis access-denied
我刚刚在Windows XP上安装了IIS.
当我尝试执行应用程序时,出现错误:
访问路径'c:\ inetpub\wwwroot\myapp\App_Data'被拒绝.描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.UnauthorizedAccessException:拒绝访问路径'c:\ inetpub\wwwroot\myapp\App_Data'.
ASP.NET无权访问所请求的资源.考虑将资源的访问权限授予ASP.NET请求标识.ASP.NET具有基本进程标识(通常是IIS 5上的{MACHINE}\ASPNET或IIS 6上的网络服务),如果应用程序未模拟,则使用该标识.如果应用程序模拟通过,则标识将是匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户.
要授予对文件的ASP.NET访问权限,请在资源管理器中右键单击该文件,选择"属性",然后选择"安全"选项卡.单击"添加"以添加适当的用户或组.突出显示ASP.NET帐户,并选中所需访问的框.
来源错误:
第70行:受保护的子cmbSettingFiles_SelectedIndexChanged(ByVal sender As Object,ByVal e As System.EventArgs)处理cmbSettingFiles.SelectedIndexChanged
第71行:Dim doc As XmlDocument = New XmlDocument()
第72行:doc.Load(Path.Combine(basePath,cmbSettingFiles. SelectedValue))第74行:Dim settingsNode As XmlNode = doc.SelectSingleNode("/ settings")源文件:C:\ myapp\install\install.aspx.vb行:72
我这样做了尝试格栅许可:
要授予对文件的ASP.NET访问权限,请在资源管理器中右键单击该文件,选择"属性",然后选择"安全"选项卡.单击"添加"以添加适当的用户或组.突出显示ASP.NET帐户,并选中所需访问的框.
但错误仍然存在.
这与我的代码有什么关系吗?
我该如何解决这个问题?
编辑
我已经解决了我的开发机器上的问题,但我仍然在我的Web服务器上收到错误.
谢谢.
Jos*_*ica 16
对于那些在Windows Server上运行IIS的人:
默认情况下,IIS用户没有该wwwroot文件夹的写入权限.这可以通过向wwwroot用户授予完全权限来解决wwwroot.
inetpubwwwroot.Nir*_*ngh 12
尝试转到App_Data文件夹属性并添加具有读写权限的ASPNET用户
参考:
如何为AppMata Pro的App_Data文件夹分配正确的权限
APP_DATA文件夹上的ASP.NET 权限
ASP/ASP.NET处理写权限的最佳方法是什么?
如果它无法解决您的问题,请检查您的XML文件是否未被另一个使用这些配置文件的线程打开..如果仍然存在则提供更多详细信息.
考虑您的文件是否是只读的,那么额外的参数可能会有所帮助 FileStream
using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
90537 次 |
| 最近记录: |