Служба WCF имеет один метод (скажем, TestMethod), в котором я пытаюсь создать поток файлов следующим образом:
System.IO.FileStream fs = new System.IO.FileStream(@"D:\Test.xml", System.IO.FileMode.Open);
Мой клиент и служба находятся на одном и том же решении.
Когда Клиент делает вызов TestMethod (Exposed in Web-сервис), он выдаст эту ошибку:
Отправляется доступ к пути D:\DXDirectoryAuth.xml.
Пожалуйста, помогите!!
Вы пробовали:
System.IO.FileStream fs = new System.IO.FileStream(@"D:\Test.xml", System.IO.FileMode.Open, System.IO.FileAccess.Read);
Конструктор по умолчанию FileStream() запрашивает доступ для чтения и записи.
Хорошо, если вы поместили файл в каталог или подкаталог своей службы WCF, вы сможете получить доступ к файлу без каких-либо проблем с разрешениями.
Вопрос в том, как вы пытаетесь получить доступ к файлу?
Вероятно, вы должны получить текущий каталог службы, а затем добавить относительное местоположение файла в текущий каталог, а затем попытаться открыть файл примерно так:
var appPath = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath;
bodyFile = Path.Combine(appPath, @"templates\email.txt");
var body = File.OpenText(bodyFile).ReadToEnd();
НТН
Олли
Безопасность
Причина, по которой вы пытаетесь получить доступ к местоположению файла за пределами каталога, в котором размещена ваша служба WCF...
Вам либо придется предоставить учетную запись, которую WCF выполняет под разрешениями в этом каталоге, либо переместить файл в каталог\подкаталог, в котором вы размещаете службу WCF.
Олли