Служба WCF: не удалось получить каталог на сервере по абсолютному пути - PullRequest
2 голосов
/ 17 января 2012

Я написал службу 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: \ находится на другом сервере, но доступен с текущей машины.

хотелось бы получить совет здесь!заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 17 января 2012

Вы должны установить права доступа к папке, чтобы учетная запись, на которой запущен ваш пул приложений, могла получить доступ к t: \

1 голос
/ 17 января 2012

Используйте UNC-путь вместо подключенного сетевого диска, поскольку подключенный диск зависит от вашей учетной записи пользователя. Кроме того, как указал KMan, убедитесь, что у удостоверения пула приложений есть доступ к месту назначения пути UNC.

РЕДАКТИРОВАТЬ на основе комментария:

Вот ресурс о том, как установить удостоверение пула приложений с помощью IIS6 на Win2003. После того как учетная запись домена правильно настроена в IIS, а приложение запущено и работает, необходимо убедиться, что используемая учетная запись имеет разрешения для общего ресурса, а также разрешения для этой файловой системы.

...