2010-06-09 34 views
1

我需要在C#中創建一個RESTful web服務。這就是我現在所擁有的:如何託管一個RESTful C#web服務並對其進行測試

namespace WebService 
{ 
    [ServiceContract] 
    public interface IService 
    { 
    [OperationContract(Name="Add")] 
    [WebGet(UriTemplate = "/")] 
     int Add(); 
    } 

    public class Service:IService 
    { 
     public int Add() 
     { 
      // do some calculations and return result 
      return res; 
     } 
    } 
} 

現在,我的問題是我如何在外景主持人這項服務說(http://localhost/TestService)以及如何測試控制檯應用程序客戶端的服務?

回答

1

要託管服務,WebServiceHost將是更好的選擇。查看這篇文章http://msdn.microsoft.com/en-us/library/system.servicemodel.web.webservicehost.aspx的使用情況。

要在控制檯應用程序中測試服務,可以使用HTTPWebRequest/HttpWebResponse類來進行請求/解密響應。看看這個用法http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx

對於簡單的請求,你也可以使用提琴手(在你的項目的原型階段也許)

0

看到這個答案here讓你開始。

所有你需要做的就是運行這個具有控制檯運行這段代碼在Main方法中一個控制檯應用程序/

RestExample exampleService = new RestExample(); 

host = new ServiceHost(exampleService); 

host.Open(); 

務必在

Console.WriteLine("Press any key to exit . . . ."); 

Console.ReadKey(true); 

host.Close(); 

這樣,你的服務扔保持開放直到完成。

請記住,您不必將其作爲休息服務啓動以測試接口的實現。在RestExample中,您可以針對該類編寫單元測試,以確保每個方法都按設計執行。作爲控制檯啓動它是一種選擇,但對我來說更多的是集成測試而不是單元測試。

相關問題