RESTful веб-сервис в коде C # - PullRequest
       4

RESTful веб-сервис в коде C #

1 голос
/ 23 февраля 2010

Как использовать RESTful веб-сервис в коде C # без wcf? Нечто очень простое

Ответы [ 3 ]

2 голосов
/ 27 октября 2011

Используйте приведенный ниже код для вызова веб-службы RESTful.

string responseMessage;
HttpClient client = new HttpClient(serviceUrl);
HttpWebRequest request = WebRequest.Create(string.Concat(serviceUrl, resourceUrl)) as HttpWebRequest;
request.ContentType = "text/xml";
request.Method = method;
HttpContent objContent = HttpContentExtensions.CreateDataContract(requestBody);
if(method == "POST" && requestBody != null)
{
    //byte[] requestBodyBytes = ToByteArrayUsingXmlSer(requestBody, "http://schemas.datacontract.org/2004/07/XMLService");
    byte[] requestBodyBytes = ToByteArrayUsingDataContractSer(requestBody);
    request.ContentLength = requestBodyBytes.Length;
    using (Stream postStream = request.GetRequestStream())
        postStream.Write(requestBodyBytes, 0, requestBodyBytes.Length);
    //request.Timeout = 60000;
}

HttpWebResponse response = request.GetResponse() as HttpWebResponse;
if(response.StatusCode == HttpStatusCode.OK)
{
    Stream responseStream = response.GetResponseStream();
    StreamReader reader = new StreamReader(responseStream);

    responseMessage = reader.ReadToEnd();
}
else
{
    responseMessage = response.StatusDescription;
}

Приведенный выше код должен ссылаться на следующие пространства имен:

  1. с использованием Microsoft.Http; -> Доступно из стартового комплекта REST (Microsoft.Http.dll)

  2. с использованием System.Net;

  3. с использованием System.IO;

2 голосов
/ 23 февраля 2010

Используйте класс WebRequest. См. Клиентская библиотека REST для .NET, часть 1 .

.
0 голосов
/ 23 февраля 2010

Посмотрите на проект OpenRasta - это решение REST Architecture для Target Asp.net.

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