我使用ASP.NET和C#创建的应用程序在读取文档时使用临时路径来存储文档,然后在以下情况下将其删除:
string path = string.Concat((Server.MapPath("~/temp/" + FileUpload1.FileName)));
Array.ForEach(Directory.GetFiles((Server.MapPath("~/temp/"))), File.Delete);
Run Code Online (Sandbox Code Playgroud)
感谢您的任何帮助.StockControl文档是一个示例,可以从网络上的多台计算机导入.根据错误消息,我的文件看起来没有被上传并保存到临时目录中......
调试时的本地路径(WORKS):
C:\Users\USER\Documents\Visual Studio 2013\Projects\WebApplication5\WebApplication5\temp
Run Code Online (Sandbox Code Playgroud)
应用程序已成功部署,但是当我附加文件并按"导入"时,我会显示一条错误消息:拒绝访问路径'C:\ inetpub\wwwroot\StockControl\temp\Book1.xls'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Run Code Online (Sandbox Code Playgroud)
异常详细信息:System.UnauthorizedAccessException:拒绝访问路径'C:\ inetpub\wwwroot\StockControl\temp\Book1.xls'.
ASP.NET无权访问所请求的资源.考虑将资源的访问权限授予ASP.NET请求标识.ASP.NET具有基本进程标识(IIS 5上通常为{MACHINE}\ASPNET,IIS 6和IIS 7上为网络服务,IIS 7.5上已配置的应用程序池标识),如果应用程序未模拟,则使用该标识.如果应用程序模拟通过,则标识将是匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户.
要授予对文件的ASP.NET访问权限,请在"文件资源管理器"中右键单击该文件,选择"属性",然后选择"安全"选项卡.单击"添加"以添加适当的用户或组.突出显示ASP.NET帐户,并选中所需访问的框.
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.
我有同样的问题.
进行了以下更改以解决问题.
(1)我去了wwwroot文件夹.右键单击和安全选项卡.提供IISUSER以设置对wwwroot文件夹的读写权限.
(2)将应用程序池更改为单独的池,并将标识设置为应用程序池标识.
一个非常简单的解决方案来解决我的问题,在IIS中我必须右键单击Application Pools并将.NET Framework V4设置为Integrated而不是classic /
另一种解决方案是将正在访问的特定文件夹设置为对需要它的用户进行读/写,这可以由唯一用户或组织内的一组用户完成.
| 归档时间: |
|
| 查看次数: |
36356 次 |
| 最近记录: |