【发布时间】:2017-12-08 15:53:44
【问题描述】:
我正在尝试让我的 MVC 应用程序使用 System.IO.File.WriteAllText 将一个简单的文本文件写入另一个服务器。 (一个单独的进程正在该文件夹中查找要抓取的文本文件。)在我的本地计算机上调试时它工作正常,但是当部署到测试服务器上的 IIS 时,我在尝试写入文件时总是收到此错误:
对路径“\\server\C$\folder\subfolder\file.txt”的访问被拒绝。
在 SO 上至少有六个类似问题的答案是授予应用程序池身份帐户访问该文件夹的权限。但是,IIS 上的应用程序池已经在对所需文件夹具有完全权限的服务帐户下运行,但仍然出现错误。我什至尝试将应用程序池更改为我自己的帐户(在调试中成功使用的帐户),仍然得到错误。
匿名访问已关闭,Windows 身份验证已打开(file.txt 的一部分是来自用户 AD 帐户的信息)。我尝试使用多个 AD 帐户访问该应用程序,无论是否访问 \\server\C$\folder\subfolder\,但它们都给出了相同的错误。
我看不到应用程序如何在授权帐户下运行,并且用户可以使用授权帐户登录应用程序,但仍然收到拒绝访问错误。有什么方法可以获取有关具体拒绝访问或实际拒绝哪个帐户的更多信息?还有什么我在这里想念的吗??
【问题讨论】:
-
正如@Polyfun 下面的注释,请确认路径实际上是正确的(以双斜杠开头),并且您上面显示的只是复制/粘贴或转录问题。
-
@GalacticCowboy 我确实检查过并且代码正确(加上它在调试中工作)。 SO的markdown在显示时只是将两个斜杠算作一个“转义”的斜杠。
标签: c# asp.net-mvc iis iis-8.5