.Net Core IIS 程序报错 Access to the path c:\\windows\\TEMP\\poifiles is denied

程序运行报错:Access to the path c:\\windows\\TEMP\\poifiles is denied , 此错误本文介绍两种解决办法,选择适合你的方法即可;一般.Net程序运行方案二可能比较常用。

解决方案一:

从 IIS 访问文件系统

如果您在浏览托管在 IIS 上的网站时遇到此错误,则该错误与上面描述的错误类似。托管在 IIS 上的 .NET 应用程序默认使用应用程序池用户来访问文件系统上的文件。

要解决此问题,请右键单击文件夹并选择 "属性" ,将 IIS 应用程序池 用户添加到应用程序的根文件夹。选择 "安全" 选项卡并添加 IIS 应用程序池*<* 应用程序池名称*>* 用户:

与 Windows 服务一样,您也可以决定创建自定义用户以从 IIS 访问文件系统。创建一个新的 Windows(或 AD)用户,然后在 IIS 管理器中单击您的站点。在 "操作" 窗口中单击 "基本设置" 。最后,单击 "连接为"按钮并在 "特定用户" 下输入新用户 :

此示例说明了 IIS 用户无权访问包含网站文件的文件夹的情况。您可能还会遇到其他情况,其中使用 Windows 身份验证来控制单个网站用户对文件系统上的一个或多个文件的访问。在这些情况下,您需要重复使用上述示例来捕获代码中的异常,并以比显示 IIS 错误页面更好的方式通知网站用户。

解决方案二(一般常用):

bash 复制代码
System.UnauthorizedAccessException: Access to the path 'C:\Windows\TEMP\ASPNETCORE_935a19f1-814f-4b33-831d-7c6a7b988e43.tmp' is denied.
   at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
   at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
   at Microsoft.AspNetCore.WebUtilities.FileBufferingReadStream.CreateTempFile()
   at Microsoft.AspNetCore.WebUtilities.FileBufferingReadStream.ReadAsync(Memory`1 buffer, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.WebUtilities.StreamHelperExtensions.DrainAsync(Stream stream, ArrayPool`1 bytePool, Nullable`1 limit, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Http.Features.FormFeature.InnerReadFormAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Http.Features.FormFeature.ReadForm()
   at Microsoft.AspNetCore.Http.DefaultHttpRequest.get_Form()

IIS运行的.net core程序正常,但有些功能报错:

System.UnauthorizedAccessException: Access to the path 'C:\Windows\TEMP\ASPNETCORE_e5e0d4d2-f4bf-446c-99c5-096b856b1cc8.tmp' is denied

有网上文章提示解决方案:

提示需要再网站对应 的应用程序池将 高级设置中 "加载用户文件配置" 设置为True 。

找到项目的应用程序池,将高级设置中"加载用户配置文件"(Load User Profile)设置为true即可。

相关推荐
全栈小53 小时前
【C#】.net core 6.0 依赖注入常见问题之一,在构造函数使用的类,都需要注入到容器里,否则会提示如下报错,让DeepSeek找找原因,看看效果
c#·.netcore·依赖注入·deepseek
公子小六5 天前
ASP.NET Core WebApi+React UI开发入门详解
react.js·ui·c#·asp.net·.netcore
工藤新一OL5 天前
.netCore的winform程序如何调用webapi
c#·.net·.netcore·visual studio
江沉晚呤时6 天前
深入解析 C# 开闭原则(OCP):设计可扩展的系统
数据库·c#·系统安全·.netcore
江沉晚呤时7 天前
深入解析外观模式(Facade Pattern)及其应用 C#
java·数据库·windows·后端·microsoft·c#·.netcore
江沉晚呤时8 天前
深入解析代理模式(Proxy Pattern):设计与应用
安全·c#·系统安全·.netcore
小吴同学·9 天前
NET6 WebApi第5讲:中间件(源码理解,俄罗斯套娃怎么来的?);Web 服务器 (Nginx / IIS / Kestrel)、WSL、SSL/TSL
中间件·c#·.net·.netcore·.net core
江沉晚呤时10 天前
深入解析组合模式(Composite Pattern):概念、结构与应用
java·开发语言·后端·c#·.netcore
江沉晚呤时11 天前
精益架构设计:深入理解与实践 C# 中的单一职责原则
java·jvm·算法·log4j·.netcore·net
世界太过浮夸11 天前
.net core集成MQTT服务端
.netcore