2010-02-23 100 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;