Http WebService с использованием объекта .Net WebRequest - PullRequest
0 голосов
/ 09 февраля 2012

Я хочу получить доступ к веб-службе HTTP с помощью объекта WebRequest в .Net.В веб-службе HTTP представлены различные методы, и я не хочу дублировать код для создания объектов Webrequest и Response.Есть ли способ, которым я могу это сделать?Я публикую приведенный ниже пример кода.

 WebRequest request = WebRequest.Create("url");
        NetworkCredential myCred = new NetworkCredential("username", "pwd");
        request.Credentials = myCred;
        request.PreAuthenticate = true;

        // Get the response.
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();

        // Display the status.
        Console.WriteLine(response.StatusDescription);
        // Get the stream containing content returned by the server.
        Stream dataStream = response.GetResponseStream();
        // Open the stream using a StreamReader for easy access.
        StreamReader reader = new StreamReader(dataStream);
        // Read the content.
        string responseFromServer = reader.ReadToEnd();

        reader.Close();
        dataStream.Close();
        response.Close();

Я думаю, стоит ли создавать функцию, которая будет создавать запрос, передавая URI и возвращая объект ответа на основе запроса.Это правильный подход?Я также не хочу каждый раз передавать учетные данные.Возможно ли это?

Любая помощь или ссылка на какой-либо ресурс будет полезна.Спасибо.

Ответы [ 2 ]

1 голос
/ 09 февраля 2012

проверьте гамак,

https://github.com/danielcrenna/hammock

это очень легко использовать, и вы можете установить его как пакет Nuget.

0 голосов
/ 09 февраля 2012

Если вы используете Visual Studio, пусть Visual Studio создаст все клиентские классы из веб-службы.Вы подключаетесь к веб-сервису, а не к «веб-серверу».В примере веб-службы вам нужна дополнительная информация, такая как классы и типы, которые необходимо создать с помощью инструмента, который считывает эту информацию из «веб-службы».Если вы подключаетесь к веб-сайту, используйте httpwebrequest и загрузите веб-службу http.

  1. , необходимую для создания классов, и вы вызываете класс

создать проект, выберите "добавить ссылку на службу "введите адрес службы и нажмите кнопку" Создать "

  1. веб-сервер, который вы загружаете HTML-код с веб-сайта, используя httpwebrequest.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...