如果您還沒有這樣做,請通過Creating REST Services with ServiceStack演示文稿。
1)如果你看過ServiceStack的Hello World例子就說明你需要做的唯一的步驟來創建Web服務是隻提供:
//1. A Request DTO
public class Hello : IReturn<HelloResponse> {
public string Name { get; set; }
}
//2. A Response DTO
public class HelloResponse {
public string Result { get; set; }
}
//3. The web service implementation that takes a Request DTO and returns a Response DTO
public class HelloService : Service
{
public object Any(Hello request)
{
return new HelloResponse { Result = "Hello, " + request.Name };
}
}
上面的例子顯示了所有需要的代碼創建您好 Web服務。 您應該能夠從WCF方法中重用大量現有類型和邏輯,並將其複製到Any()方法中。
2)ServiceStack的好處之一是你不需要添加一個ServiceReference,即你可以重複使用相同的通用服務客戶端和你的DTOs爲所有的Web服務。 e.g:
//Using JSON:
IServiceClient client = new JsonServiceClient("http://localhost/path/to/servicestack");
//Using XML:
IServiceClient client = new XmlServiceClient("http://localhost/path/to/servicestack");
var response = client.Send(new Hello { Name = "Arun" });
Console.WriteLine("Received: " + response.Result);
在/元頁也有你的web服務WSDL在那裏你可以創建你應該想生成客戶端提供服務的鏈接。然而,這不是推薦的方法,因爲它需要更多的摩擦,然後只使用現有的DTO。
3)ServiceStack Web服務已經是一個ASP.NET應用程序,即ServiceStack只是一組IHttpHandler,您可以將它配置爲在您的Web應用程序Web中添加a Web.config mapping以在正常的ASP.NET或MVC Web應用程序內部運行。配置。
基本上,您可以將ServiceStack Web服務視爲普通的ASP.NET Web應用程序,實際上Hello World Tutorial向您展示瞭如何通過創建空的ASP.NET應用程序來執行此操作。
您可能也有興趣瞭解The Starter Templates示例項目,它向您展示了配置ServiceStack以運行在各種不同的託管選項(如ASP.NET/Windows服務/控制檯應用程序等)所需的設置的最低要求。
這是一個很好的答案和偉大的框架,你們已經建立,一個查詢是如果我需要從另一個Web應用程序消費它我需要添加RestIntro.ServiceModel引用,對吧?以及如何將該響應轉換爲json格式? –
我需要做的是如何在不依賴於ServiceModel(這裏是客戶類)的情況下使用此服務? –
@ArunRana您用於開發Web服務的相同Dtos可用於所有ServiceStack的序列化程序/格式,這是JsonServiceClient爲您所做的。 – mythz