Linq to SQL Web Service XML - PullRequest
       18

Linq to SQL Web Service XML

0 голосов
/ 31 марта 2010

Я создал веб-сервис .NET, подключающийся к базе данных SQL Server. Существует вызов веб-службы GetAllQuestions (), который не изменится. Я сохранил результат GetAllQuestions в GetAllQuestions.xml в локальной папке приложения и установил его для содержимого. Обычно я получаю результат от веб-сервиса, такой как:

var myService = new SATService();
var serviceQuestions = myService.GetAllQuestions();

Я хочу попробовать что-то вроде:

var serviceQuestions = File.Open("GetAllQuestions.xml");

Любые предложения очень ценятся!

Ответы [ 2 ]

0 голосов
/ 31 марта 2010

Вы не говорите, является ли ваша веб-служба 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. Лучший метод зависит от содержимого файла, поэтому вам нужно дать нам более подробную информацию об этом.

0 голосов
/ 31 марта 2010

GetAllQuestions.xml Скорее всего, содержит все те SOAP-кучи, которые вам на самом деле не нужны - я бы предпочел стандартную сериализацию .NET.

Если вы действительно хотите сохранить необработанное сообщение SOAP в файле XML, попробуйте this .

...