传递文件路径的WCF服务

时间:2014-01-06 14:40:49

标签: c# wcf

在我的WCF中,我接受参数Filepath

即。 F:\ BatchFiles \ InputFile \ SampeFile_Tabbed_WithNull.txt(此文件100%存在)

我接受了这个检查

public BatchSplitterResponse SplitFile(BatchSplitterRequest request)
        {
            //Retrieve File
            var response = new BatchSplitterResponse();
            if (request != null)
            {
                var filePath = request.FilePath;
                var numberOfRecordsPerFile = request.NumberOfRecordsPerFile;

                if (File.Exists(filePath))
                {..
}

当我将我的WCF作为服务引用添加到我的控制台应用程序并调用我的WCF服务时,我不断收到该文件不存在的错误。

var linkService = new BatchSplitterClient("BasicHttpBinding_IBatchSplitter");
var response = linkService.SplitFile(new BatchSplitterRequest(){FilePath = @"F:\BatchFiles\InputFile\SampeFile_Tabbed_WithNull.txt",NumberOfRecordsPerFile = 1000});

我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

运行WCF服务的用户可能无权访问“F:\”驱动器。这可能是因为它是已安装的驱动器或某些丢失/不正确的权限。

答案 1 :(得分:0)

您的问题我在应用程序池标识中。 您需要将应用程序池设置为“ApplicationPoolIdentity”

这是一个解释有关该主题的更多链接。 http://www.iis.net/learn/manage/configuring-security/application-pool-identities