【发布时间】: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