【问题标题】:Connecting to Virtual Directory .NET Core连接到虚拟目录 .NET Core
【发布时间】:2020-05-21 15:32:24
【问题描述】:

我有一个应用程序需要访问 IIS 中的虚拟目录。我在 IIS 中创建了虚拟目录并赋予它正确的权限,我试图在我的 startup.cs 中像这样连接到它..

app.UseFileServer(new FileServerOptions
            {
                FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), 
"Folder")),
                RequestPath = "/Folder",

           });

但是,当我在 IIS 中启动该站点时,我收到此错误:目录名称 'C:\inetpub\wwwroot\myappfolder\Folder 不存在。 对此有什么想法吗?

【问题讨论】:

标签: c# asp.net-core iis virtual-directory


【解决方案1】:

右键单击虚拟文件夹并选择高级设置,然后查看物理路径并使用它。

【讨论】:

  • 我厌倦了事先这样做,我无法获得正确的权限。物理文件夹位于 Web 服务器上,路径为 c:\folder\ineedthisone
  • 您可能需要授予用户完全权限。将 IIS APPPOOL\YourAppPoolName 添加到文件夹
  • 如果 AppPool 在自定义帐户下运行怎么办?
  • 尝试使用那个,如果这不起作用,请给用户每个人完全的权限,如果这有效,而不是你知道你使用了错误的用户。然后删除所有人再试一次。
【解决方案2】:

UseStaticFiles 相当于在中间件层而不是 IIS 层创建一个独立的虚拟目录,因此它永远不会读取 IIS 虚拟目录。建议取消 IIS 中的虚拟目录,只在 PhysicalFileProvider 构造函数中映射路径字符串。

更多关于 app.UseStaticFiles 的信息可以参考这个链接: app.UseStaticFiles

【讨论】:

  • 我想这就是我要找的。我现在明白了一点,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-06
  • 1970-01-01
  • 2020-10-20
  • 1970-01-01
相关资源
最近更新 更多