WCF服务:无法使用绝对路径在服务器上获取目录

本文关键字:服务器 路径 获取 服务 WCF | 更新日期: 2023-09-27 18:20:38

我编写了一个WCF服务,其中包含一个使用绝对路径获取服务器上目录的函数。

它在VS2010的调试模式下运行良好,该模式触发了临时可访问服务。

然后我在此服务器上部署了IIS下的服务。但是,它告诉我它无法获取此目录。

VS2010和IIS都在同一服务器中。我想知道我是否需要在这个目录路径上添加或修改任何内容。我只是觉得使用绝对路径应该有效。。。

这个简单的函数如下:

public void testDir() 
{
            string strPhotoRootPath = @"T:'Data'Image";
            if (!Directory.Exists(strPhotoRootPath))
            {
                ErrorMsg newError = new ErrorMsg();
                newError.errorCode = 1001;
                newError.errorDetails = "Cannot locate the photolog root directory";
                throw new WebFaultException<ErrorMsg>(newError, HttpStatusCode.Forbidden);
            }
            ... //rest codes
}

这个T:''驱动器在另一台服务器上,但可以从当前计算机访问。

希望我能在这里得到一些建议!提前感谢!

WCF服务:无法使用绝对路径在服务器上获取目录

您必须设置文件夹的访问权限,以便运行应用程序池的帐户可以访问t:''

使用UNC路径而不是映射的网络驱动器,因为映射的驱动器特定于您的用户帐户。此外,正如KMan所指出的,请确保应用程序池标识可以访问UNC路径目标。

根据注释编辑:

以下是关于如何在Win2003上使用IIS6设置应用程序池标识的资源。一旦您在IIS中正确配置了域帐户,并且您的应用程序已启动并运行,则需要确保您使用的帐户具有共享权限以及该文件系统上的权限。