Вы не говорите, является ли ваша веб-служба ASMX, WCF с совместимостью с ASP.NET или WCF без совместимости с ASP.NET. Этот метод должен дать вам реальный физический путь, в котором находится ваш файл, независимо от того, как размещена ваша служба.
string GetContentFilePath() {
if(HttpRuntime.AppDomainAppVirtualPath != null) {
// HTTP runtime is present, so the content file is in the virtual directory.
return HttpRuntime.AppDomainAppPath;
} else {
// HTTP runtime is not present, so the content file is in the same directory as the assembly.
return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
}
}
После того, как вы нашли файл, вам нужно подумать, как лучше всего прочитать его содержимое. У вас есть различные варианты, например, LINQ to XML, XmlSerializer, XmlReader или даже типизированный DataSet. Лучший метод зависит от содержимого файла, поэтому вам нужно дать нам более подробную информацию об этом.