去年11月份參加了青島MVP線下活動,會上老MVP衣明志介紹了Nancy, 一直沒有系統的學習一下,最近正好有空,就結合.NET Core學習總結了一下。app
注: 本文中大部份內容都是對官網文檔的翻譯和總結。框架
Nancy是一個的輕量級Http的服務框架, 全名NancyFx, Nancy框架的靈感來自於Ruby
的Sinatra框架,其做者名字叫Frank Sinatra, NancyFx這個名字中的Nancy是Frank Sinatra女兒的名字, Fx的意思是Framework, 即框架。學習
首先咱們建立一個空的.Net Core App, 命名爲HelloNancy測試
項目建立成功以後,使用Nuget引入Nancy庫, 選擇(2.0.0-barneyrubble)版本網站
Nancy 2.0.0-barneyrubble是基於.NET Stardard的項目,因此能夠在.NET Core中使用ui
注意:寫這個實例代碼的時候,我使用的是.Net Core 2.1.4, Microsoft.AspNetCore.All中默認已經包含了Microsoft.AspNetCore.Owin, 若是你的.Net Core版本較低,用Nuget手動添加Microsoft.AspNetCore.Owin庫翻譯
引用添加完成以後,下一步咱們來修改Startup.cs, 這裏咱們能夠使用app.UseOwin
方法將Nancy註冊到NET Core MVC的管線中code
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseOwin(x => x.UseNancy()); }
接下來咱們添加一個新類HelloModule, HelloModule
繼承自NancyModule
blog
public class HelloModule : NancyModule { public HelloModule() { Get("/", p => "Hello World"); } }
這裏Get方法中有2個參數,第一個參數是相似於NET Core MVC Route的路由模板,第二個參數是當用戶請求的Url符合該路由模板的時候,作出的響應, 至關於NET Core MVC中的action。繼承
至此一個最簡單的Nancy應用就完成了,下面咱們啓動項目, 網站中正確顯示了"Hello World"
怎麼樣,看起來是否是很簡潔。