這篇文章主要介紹了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ā)簡(jiǎn)單,速度也相當(dāng)快,而且還可以進(jìn)行跨平臺(tái),集成多種數(shù)據(jù)庫的訪問。
ServiceStack提供基于web可發(fā)布在iis的服務(wù)和單獨(dú)的應(yīng)用程序式運(yùn)行服務(wù),兩種方式都比較簡(jiǎn)單。
下邊舉例一個(gè)簡(jiǎn)單的Rest服務(wù)開發(fā),是以單獨(dú)的應(yīng)用程序運(yùn)行:
//因服務(wù)一般要求的性能都比較高,所以單獨(dú)程序是要基于console應(yīng)用程序?yàn)殚_始,下邊是一個(gè)最簡(jiǎn)單的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,請(qǐng)不要關(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<IDbConnectionFactory>(c => new OrmLiteConnectionFactory("連接字符串", PostgreSqlDialect.Provider));
}
}
//下邊是一個(gè)簡(jiǎn)單的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<HelloWorldModel>
{
public string name { get; set; }
}
//ServiceStack的服務(wù)是以model為基礎(chǔ)的,所以一般都定義model進(jìn)行返回,
//在客戶端使用時(shí),url后邊加上format=json或者format=xml,就會(huì)返回相應(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怎么用”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
文章標(biāo)題:ServiceStack怎么用
分享路徑:http://jinyejixie.com/article48/ipgohp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、靜態(tài)網(wǎng)站、電子商務(wù)、品牌網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)