servicestack的基礎學習之路

2021-09-27 02:02:48 字數 2436 閱讀 3983

servicestack的解決方案的結構:

1.***x.tests

說明:單元測試使用

2.***x.servicemodel

說明:poco和dto和響應的類的存放位址

3.***.serviceinte***ce(服務層)

說明:存放myservice類:服務層—負責接收請求返回響應,是業務邏輯層和model 合耦的地方

4.***x

說明:存放全域性變數的地方,一般不修改

業務邏輯層就新建類庫,自行新增

更詳細的說明:

serviceinte***ce專案

serviceinte***ce專案是所有業務邏輯和服務的實現專案,通常引用除host專案之外的所有其他專案。small和medium專案可以在此處維護所有實現,其中邏輯可以在功能資料夾下進行分組。大型解決方案可以將此專案拆分為更易於管理的內聚和模組化專案,我們還建議將其包含在可能使用的任何依賴項中。

servicemodel專案簡單的實現:

//module層的實體類

namespace servicestacktest.servicemodel

","gets")]

public class student

}//[serializable]

//[datacontract]

public class studentresponse

}}//服務層的例項化

namespace servicestacktest.serviceinte***ce

!」 };

}public object get(student request)

!」 };}}

}這樣就完成根據路由進行的響應,這樣仔細想想,業務邏輯層呼叫資料訪問層,然後再在服務層裡呼叫業務邏輯層,例項化出物件,操作後return就可以了

業務邏輯層的moudle

獲取http

業務邏輯層接收了前端發過來的http請求

然後在service層進行響應

public object post(student request)

這個basicresponse是乙個通過泛型構造的基礎響應類

namespace servicestacktest.servicemodel

public string message

public t data

public list asss

public basicresponse(bool x, string message,t data)

public basicresponse()

}

}

因為泛型,可以封裝資料傳輸,更方便,很多地方也可以再加個list

再說一下資料訪問層,modle裡面的實體類和資料庫一定是一一對性的,因此需要c#中的特性對我們進行更多的擴充套件,

///

/// 學生id(主鍵)

///

[customfield(「char(30)」)]

[primarykey]

public string id

///

/// 學生院系(外來鍵)

///

[customfield(「char(30)」)]

[foreignkey(typeof(department), ondelete = 「null」, onupdate = 「cascade」)]

public string department

還有servicestack中的***,放在serviceinte***ce下

namespace servicestacktest.serviceinte***ce

else}}

}用特性放在需要攔截操作的類或方法前

ormlite運算元據庫

class program}}

ormlite將資料庫封裝很好,因此僅需呼叫幾個方法就可用實體類在資料庫中建立出來具體的表

使用框架中一些需要注意的地方

讀資料庫要加try catch,防止程式中斷

(日誌:

catch加日誌,記錄執行(使用stacktrace處理異常

)反射中的屬性getfieldinfo可以找到pro找不到的屬性

存資料庫和向前端傳輸資料要加密

學長補充:

ServiceStack 概念參考文摘

摘自 開啟包管理器控制台,如果沒有顯示,可以在 檢視 其它視窗 下找到這個視窗,輸入命令 install package servicestack version 3.9.71 可安裝該版本的包 servicestack是.net和mono的開源框架,相對wcf,mvc及web api而言它是開發w...

ServiceStack6000次限制破解

if actualusage allowedusage throw new licenseexception message.fmt allowedusage trace 編譯生成servicestack.text.dll,替換專案中的 servicestack.text.dll servicest...

第乙個ServiceStack服務框架

第乙個servicestack服務框架 最近剛接觸servicestack,就嘗試著寫了第乙個服務框架,難免出錯,還望同道們多多指正。關於servicestack相關的概念不在做詳細的敘述,網上研究此領域的大神們比比皆是。主要的步驟如下 一 在vs中新建乙個window窗體程式。1.0 encodi...