powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Работа с директориями, WCF
5 сообщений из 5, страница 1 из 1
Работа с директориями, WCF
    #36219388
Franz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, какой функцией можно вытянуть путь к каталогу в котором располагается
WCF-сервис, я пробовал использовать функцию:
System.IO.Directory.GetCurrentDirectory(), но она возвращает директорию:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE,
а если сервис хостить через IIS, то c:\windows\system32\inetsrv
Как правильно задать оносительный путь к каталогу? Например ".\Image", папка Image находится в папке где раполагается сервис.
...
Рейтинг: 0 / 0
Работа с директориями, WCF
    #36219411
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какую нуно то?

Если, где ехе лежит, то установите её сначала:
Код: plaintext
1.
2.
            CFullName = System.Reflection.Assembly.GetExecutingAssembly().Location;
            CD = endPath(Path.GetDirectoryName(CFullName));
            Directory.SetCurrentDirectory(CD);
...
Рейтинг: 0 / 0
Работа с директориями, WCF
    #36219445
Franz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В IIS создан виртуальный каталог в котором размещается WCF-сервис.
В этом каталоге есть папка Image, где хранятся картинки. Для работы с директориями использую класс DirectoryInfo, в конструкторе необходимо указать путь, например ".\Image".

Пробовал на тестовом сервере от VS:

public Dictionary<string, Byte[]> GetBitmapImages(string Dir)
{
string CFullName = System.Reflection.Assembly.GetExecutingAssembly().Location;
string CD = Path.GetDirectoryName(CFullName);
Directory.SetCurrentDirectory(CD);
string FullDir = Directory.GetCurrentDirectory()+ @Dir;
Dictionary<string, Byte[]> BitmapList = new Dictionary<string, Byte[]>();
DirectoryInfo di = new DirectoryInfo(FullDir);
FileInfo[] afi = di.GetFiles(); //возвращаем файлы в данной директории
//---------------------------------------
foreach (FileInfo f in afi)
{
FileStream fs = new FileStream(f.FullName, FileMode.Open, FileAccess.Read);
MemoryStream ms = new MemoryStream();
ms.SetLength(fs.Length);
fs.Read(ms.GetBuffer(), 0, (Int32)fs.Length);
BitmapList.Add(f.Name, ms.ToArray());
fs.Close();
}
//-----------------------------------------
return BitmapList;
}
Но получил исключение:

Не удалось найти часть пути "C:\Users\OGE\AppData\Local\Temp\Temporary ASP.NET Files\root\52105529\bbdc3a4b\assembly\dl3\99d6ca39\00dfe86a_8f3fca01\Images".
...
Рейтинг: 0 / 0
Работа с директориями, WCF
    #36219459
ж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ж
Гость
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Images\");
...
Рейтинг: 0 / 0
Работа с директориями, WCF
    #36219467
Franz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! работает.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Работа с директориями, WCF
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]