我正在使用Windows Server 2008和IIS 7.5 我试图以这种方式访问文件:\ server \ C $ \ temp \ testFile.log来自运行在另一台服务器上的C#代码。我无法从C#访问unc路径。访问被拒绝
我的用户名是两台服务器上的管理员。该代码正在该帐户下运行。临时文件夹已被设置为(我的用户)和ASP.NET的完整权限。
为什么我无法访问它?
我不能做一个共享文件夹;违反规则。我已经在充分考虑的情况下运行;因此,我不需要做假冒,对吧?
我正在使用Windows Server 2008和IIS 7.5 我试图以这种方式访问文件:\ server \ C $ \ temp \ testFile.log来自运行在另一台服务器上的C#代码。我无法从C#访问unc路径。访问被拒绝
我的用户名是两台服务器上的管理员。该代码正在该帐户下运行。临时文件夹已被设置为(我的用户)和ASP.NET的完整权限。
为什么我无法访问它?
我不能做一个共享文件夹;违反规则。我已经在充分考虑的情况下运行;因此,我不需要做假冒,对吧?
这是一个网络应用程序?你确定该应用程序正在冒充你的帐户吗?在IIS中匿名访问设置为true?
你说过:你确定这个应用程序冒充你的账户吗?是的,我尝试了假冒,即使我不认为我需要它,基于以下链接:http://support.microsoft.com/kb/306158#3。但是当我看到你的:“你确定,”它让我重新访问并碰到另一个链接,给了我正确的模仿:http://stackoverflow.com/questions/125341/how-do-you-do-impersonation-网内(检查马特约翰逊的答案)。他的解决方案像一个魅力! 所以你有种引导我正确的方向。谢谢! 注意:即使IIS匿名设置设置为false,解决方案也能正常工作! – user1019042
太棒了!很高兴我能在你得到你需要的解决方案中扮演一些角色(如果甚至非常小)。我只回答是因为这两件事情一次又一次地困扰着我。 – AnotherDeveloper
前段时间有这个问题。
为了让您的调试过程能够以完全管理员权限运行,您必须以完全管理员权限打开Visual Studio。
在生产中,让您的流程“以管理员身份运行”。
如果您没有执行上述任何操作,您将不得不实施模拟。
这似乎是一个已知的问题。典型的解决方案使用WNetUseConnection。
见
但我的第一个猜测将是检查FileIOPermission在Testing a UNC Path's “Accessability”
它给了我一些问题。其他人则说这是遗留代码。 – user1019042
讨论当你说你正在使用的 '管理员' 账户上这两台机器,你是在谈论本地机器管理员或域/架构/等管理员? –
你能访问Windows资源管理器中的文件夹吗? – Amy
我还想提一下,我可以访问控制台应用程序的路径。 – user1019042