這個示例是基于經典的微軟官方北風數據庫基礎上實現的,北風的數據是一個網店管理和產品銷售管理的案例。在這個案例中主要是演示了客戶、訂單以及緩存方式數據處理,還有VCard自定義輸出格式。
此解決方案中包含有三個項目,
對外服務的主項目,發布時只用這個項目即可。
提供服務的項目,此處為類庫形式。
模型類定義,其中包含有入口類出口類的定義,以及實體類,路由可定義在入口類出口類上。
示例中使用了輕量級的Sqlite數據庫
在Global.asax文件的public class AppHost : AppHostBase 類中的 Configure函數中定義數據庫連接:
container.Register<IDbConnectionFactory>( new OrmLiteConnectionFactory("~/Northwind.sqlite".MapHostAbsolutePath(), SqliteOrmLiteDialectProvider.Instance));
下面這句注冊MemoryCahce 內存緩存,注意這個不是大名鼎鼎的memcahced,是SS內置的內存式緩存,
container.Register<ICacheClient>(new MemoryCacheClient());
如果已經安裝了Redis,也可以使用Redis緩存:
container.Register<ICacheClient>(new PooledRedisClientManager());
下面這段并不是原示例中的,提供一些配置選項:
SetConfig(new EndpointHostConfig { DebugMode = true, // 用在開發過程中,顯示服務器響應數據 WriteErrorsToResponse = false, //禁止寫操作異常處理 DefaultContentType = ContentType.Json, //默認輸出類型 AllowJsonpRequests = true //允許JsonP模式請求 });
注冊VCard格式支持,是一種用于名片交換等的數據格式,
VCardFormat.Register(this);
VCard的詳細轉換和處理見ServiceStack.Northwind.ServiceInterface項目下的VCardFormat.cs ,自定義輸出格式和結構可以參考這個文件的實現方法,自定義生成的數據也可以用來提供給用戶下載。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。