第一個ServiceStack服務框架 最近剛接觸ServiceStack,就嘗試著寫了第一個服務框架,難免出錯,還望同道們多多指正。 關於ServiceStack相關的概念不在做詳細的敘述,網上研究此領域的大神們比比皆是。 ServiceStack的官網地址為: https://github.co ...
第一個ServiceStack服務框架
最近剛接觸ServiceStack,就嘗試著寫了第一個服務框架,難免出錯,還望同道們多多指正。
關於ServiceStack相關的概念不在做詳細的敘述,網上研究此領域的大神們比比皆是。
ServiceStack的官網地址為:
https://github.com/ServiceStack/ServiceStack主要的步驟如下:
一、在VS中新建一個Window窗體程式。
在預設程式的AppConfig中進行埠的配置
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> </startup> <appSettings> <!--埠號--> <add key="ServerPort" value="8001"/> </appSettings> </configuration>
二、添加ServiceStack相關的引用庫文件
三、添加APPHost.cs文件,在其中進行配置ServiceStack
public class AppHost:AppSelfHostBase { public AppHost(Assembly[] Assemblys):base("ZBDService", Assemblys) { } //配置 public override void Configure(Container container) { Plugins.Add(new CorsFeature()); JsConfig.IncludeNullValues = true; SetConfig(new HostConfig { DebugMode = true }); } }
四、在預設程式列表中的Program.cs文件中配置ServiceStack的監聽。
static void Main(string[] args) { Assembly[] assembly = { Assembly.Load("ZBDServiceApp") }; string port = ConfigurationManager.AppSettings["ServerPort"].ToString(); var listeningOn = args.Length == 0 ? "http://*:" + port + "/" : args[0]; var appHost = new AppHost(assembly) .Init() .Start(listeningOn); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); }
五、新建cs文件用於存儲請求路由,和返回值類型
//定義路由,用於請求 [Route("/ZBD/Test/{name}",verbs:"GET")] public class ZBD:IReturn<IList<string>> { public string name { get; set; } }
六、新建cs文件,用於實現具體的操作,包括後期對資料庫的操作等。
public class ZBDServer:Service { public List<string> Get(ZBD request) { List<string> list = new List<string>(); list.Add(request.name); list.Add("第一個服務"); return list; }
七、運行程式,啟動服務,在瀏覽器中進行測試
以上只是最基本的配置,需要學習的還有很多。