【问题标题】:UNC path is invalid when starting ASP.NET Core Application in IIS在 IIS 中启动 ASP.NET Core 应用程序时,UNC 路径无效
【发布时间】:2018-08-12 15:48:11
【问题描述】:

我的本​​地网络 \hostname\shared\resource 上有一个共享驱动器。我已经在 startup.cs 文件中的 Asp.net 核心 Web 应用程序中以编程方式安装了驱动器。

app.UseStaticFiles();

app.UseFileServer(new FileServerOptions{
    FileProvider = new 
    PhysicalFileProvider(@"\\TS3410D618\NickFlicks\Movies"),
    RequestPath = new PathString("/Movies"),
    EnableDirectoryBrowsing = false
});

当我使用 IIS express(调试)运行它时,这非常有效,但是,当我将它部署到同一台机器上的本地 IIS 时,应用程序无法启动并出现错误:

应用程序启动异常:System.ArgumentException:目录名称 \\TS3410D618\NickFlicks\MoviePosters\ 无效。

这是一个有效的 UNC 路径,可以从我在 Windows 10 机器上尝试过的任何地方访问。正如我提到的,除了共享驱动器之外,所有东西都在同一台机器上。

附带说明,我可以从 IIS 中成功挂载虚拟驱动器,因此 IIS 可以毫无问题地访问文件共享。

我不确定我在这里做错了什么,任何帮助将不胜感激。

【问题讨论】:

  • 了解差异,然后你应该知道为什么blog.lextudio.com/…
  • @LexLi 我现在了解差异,但我仍然不知道也找不到如何更改 IIS 用户的权限。
  • 常见的做法是设置一个服务账号(在AD中)作为你网站的应用池标识,然后配置UNC路径访问权限,使这个服务账号至少有读权限(如果你的网站应用需要更多,您需要授予更多)。

标签: c# iis iis-10 asp.net-core-2.1


【解决方案1】:

我永远无法让它工作,因为我找不到使用 Windows 10 创建 Active Directory 或修改 IIS 使用的用户的 UNC 文件共享的用户权限的方法。基本上,我只是安装了带有 Nginx 作为反向代理的 Ubuntu 服务器,一旦我正确设置了权限,一切正常,这非常简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多