2010-02-23 53 views

回答

0

看看OpenRasta项目 - 这是一个针对Asp.net的REST架构解决方案。

2

请使用下面的代码来调用RESTful Web服务。

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. using System.Net;

  3. using System.IO;