這篇文章主要介紹了ServiceStack怎么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)的團(tuán)隊(duì)成員不追求數(shù)量、追求質(zhì)量。我們經(jīng)驗(yàn)豐富并且專業(yè),我們之間合作時(shí)就好像一個(gè)人,協(xié)同一致毫無保留。創(chuàng)新互聯(lián)珍視想法,同時(shí)也看重過程轉(zhuǎn)化帶來的沖擊力和影響力,在我們眼中,任何細(xì)節(jié)都不容小覷。一直致力于為企業(yè)提供從主機(jī)域名、網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、電子商務(wù)商城網(wǎng)站建設(shè)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個(gè)性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務(wù)。
ServiceStack是目前使用的最舒服的.net服務(wù)開發(fā)類庫,開發(fā)簡單,速度也相當(dāng)快,而且還可以進(jìn)行跨平臺,集成多種數(shù)據(jù)庫的訪問。
ServiceStack提供基于web可發(fā)布在iis的服務(wù)和單獨(dú)的應(yīng)用程序式運(yùn)行服務(wù),兩種方式都比較簡單。
下邊舉例一個(gè)簡單的Rest服務(wù)開發(fā),是以單獨(dú)的應(yīng)用程序運(yùn)行:
//因服務(wù)一般要求的性能都比較高,所以單獨(dú)程序是要基于console應(yīng)用程序?yàn)殚_始,下邊是一個(gè)最簡單的apphost的初始化,最重要是要指定監(jiān)聽的url地址
static void Main(string[] args)
{
ServiceStackHost appHost;
appHost = new AppHost()
.Init()
.Start("http://localhost:7771/");
Console.WriteLine("指定服務(wù)已啟動(dòng),監(jiān)聽端口為xxxx,請不要關(guān)閉窗
口!");
Console.ReadLine();
}
//apphost的實(shí)現(xiàn),要繼承servicestack的AppHostHttpListenerBase
public class AppHost : AppHostHttpListenerBase
{
//配置rest接口所存在的編譯集合
public AppHost() : base("ServiceBaseST", typeof(AppHost).Assembly) { }
//apphost中的配置,主要是配置數(shù)據(jù)庫連接等,在此處配置完成后,rest的服務(wù)就都可進(jìn)行使用
public override void Configure(Container container)
{
//初始化數(shù)據(jù)庫連接,ormlite也能夠支持多數(shù)據(jù)源連接
container.Register
}
}
//下邊是一個(gè)簡單的helloworldservice,要繼承Service接口,同時(shí)要配置服務(wù)的
//路由,服務(wù)中的方法為Get,Post或者Any,根據(jù)路由中的類名進(jìn)行實(shí)現(xiàn)
public class HelloWorldService : Service
{
public Object Get(Hello hello)
{
string _restStr = string.Format("hello {0}!", hello.name);
double[,] a2 = new double[,] { { 1, 2, 3 }, { 4, 5, 6 } };
return new HelloWorldModel() { name = _restStr, userid = "test", testDoule =a2 };
}
}
//服務(wù)的路由配置
[Route("/hello/{name}", "GET")]
public class Hello : IReturn
{
public string name { get; set; }
}
//ServiceStack的服務(wù)是以model為基礎(chǔ)的,所以一般都定義model進(jìn)行返回,
//在客戶端使用時(shí),url后邊加上format=json或者format=xml,就會返回相應(yīng)格
//式的數(shù)據(jù)
public class HelloWorldModel
{
public string userid { get; set; }
public string name { get; set; }
public double[,] testDoule { get; set; }
}
//客戶端訪問的url:http://localhost:7771//hello/name參數(shù)?format=json或者format=xml
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“ServiceStack怎么用”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!