YOYOFx框架
YOYOFx是一個輕量級用於構建基於 HTTP 的 Web 服務,基於 .NET 和 Mono 平台。
本着學習的態度,造了這個輪子,也是為了更好的了解各個框架的原理和有點,還希望可以和大家多交流 。
GitHub:https://github.com/maxzhang1985/YOYOFx
YOYOFx是支持Owin協議的MVC框架,基於NETStandard1.6和NET451編譯,完美支持在Core和full framework(如.net framework 4.5x或mono 4.x)上的運行。
YOYOFx集成了dotnet core上“第一款”驗證碼組件,驗證碼的實現在以前的文章里提過,《【干貨】”首個“ .NET Core 驗證碼組件 》。
特性: YOYOFx的Mvc是基於Owin跑在Core的Web框架 , YOYOFx並沒有基於Asp.Net Core MVC進行開發,而選擇了使用Owin協議自己來封裝Http協議的方式。
跨平台特性:
- .NET framework 4.5x和Mono4.x上直接SelfHost或使用Tinyfox跨平台運行;
- .NET Core 1.0 RTM 實現跨平台運行;
- 使用Tinyfox獨立版,可支持綠色部署,不需要安裝Mono和Framework。
- 通過dotnet publish將Core版本進行打包后,可支持綠色部署,不需要運行時。
Owin與Core
YOYOFx的Http實現都是基於Owin協議的,並提供兩個獨立版本NETSTANDRD1.x和NET45x版本。
目前完成:
- 封裝Owin協議的HttpContext(IOwinContext),包括Request、Response、Http Headers、Cookie等;
- 路由機制,通過添加自定義路由表為框架添加處理事件;
- 基於IOwinContext的MVC框架,支持多語言擴展;支持Session和自定義的Action攔截器;
- 可替換的視圖引擎,目前實現Razor視圖引擎,加入了緩存機制;
- 已移植到dotnet core 1.0 RTM版本
接下來的工作:
- 將項目的目錄結構整合到dotnet core的項目文件中。 (已完成)
- 完成框架整體的DI,將框架級依賴對象全部通過依賴注入的方式構建和對象創建工廠;首先完成Controller的創建工廠。 (已完成)
- 完善路由系統 (進行中)
- 支持方法特性[HttpGet] [HttpPost] 等定義路由。
- 支持自定義路由路徑。
- 支持為路由規則指定特定的Handler處理函數。
YOYOFx還非常不完善,只完成了最基本的功能,不過我會堅持寫下去,堅持開源,為開源社區做那么一點點的貢獻。
GitHub:https://github.com/maxzhang1985/YOYOFx Star下, 歡迎一起交流。
.NET Core 和 YOYOFx 的交流群: 214741894
如果你覺得本文對你有幫助,請點擊“推薦”,謝謝。
