使用C#从web应用程序打开文件夹时拒绝访问

使用C#从web应用程序打开文件夹时拒绝访问,c#,windows-8,asp.net-mvc-5,iis-7.5,C#,Windows 8,Asp.net Mvc 5,Iis 7.5,我使用以下代码通过ASP.Net MVC 5.0 web应用程序从屏幕上的服务器打开文件夹,该应用程序位于同一服务器上的IIS 7.5上,服务器使用windows 8 public void OpenFolder() { System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo() { FileName = "\\SERVERNAME\Public\Lists", Us

我使用以下代码通过ASP.Net MVC 5.0 web应用程序从屏幕上的服务器打开文件夹,该应用程序位于同一服务器上的IIS 7.5上,服务器使用windows 8

public void OpenFolder()
{
    System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo() {
        FileName = "\\SERVERNAME\Public\Lists",
        UseShellExecute = true,
        Verb = "open"
    }); 
}
当我在开发中运行我的应用程序时,这可以很好地打开文件夹,而在生产中则会出现拒绝访问错误

我已将IUSR和IIS_IUSR的所有权限授予该文件夹以及管理员、用户、网络、网络服务和少数其他用户。但还是没有运气

如果有人曾经遇到过同样的问题,或者知道如何解决这个问题,那么请给我一些启示,并指引我的方向。另外,我不擅长网络方面。

在开发过程中(使用类似IIS Express的工具),运行代码的过程作为登录帐户运行

但一旦部署,它将作为IIS应用程序池配置为的任何帐户运行


还应注意,IUSR等为本地账户;当连接到网络资源(如共享)时,这将被视为来宾。为此,您需要以域帐户(或两台计算机上具有匹配用户名和密码的本地帐户)的形式运行应用程序池。

尝试对文件夹授予应用程序池标识(IIS AppPool\DefaultAppPool-如果不同,则用应用程序池的名称替换DefaultAppPool)权限。请参阅此链接-

试着以用户身份运行Admin@Dave我有管理员权限,我应该以管理员身份运行什么,您能详细说明一下吗?您试图打开的文件夹是否与您的应用程序在同一台计算机上?该文件夹是否也被任何其他应用程序或进程使用?是的,两者都在同一台计算机上machine@Ricard,若我向来宾授予访问权限怎么样???@Learner使用具有明确权限的帐户临时访问会更安全。来宾帐户可用于可能不需要这些权限的其他场景desired@Learner正如Oscar所指出的,这将给每个人(来宾:没有密码)访问权限。您需要在本地拥有所有内容并使用应用程序池标识,或者创建必要的用户帐户。@Ricard谢谢,但即使允许访问来宾,我仍然面临同样的问题problem@Ricard,现在我使用了应用程序池中的自定义帐户,并授予了使用相同帐户访问文件夹的权限,这次我得到了服务器执行失败的错误