Nancy總結(一)Nancy一個輕量的MVC框架

 Nancy是一個基於.net 和Mono 構建的HTTP服務框架,是一個很是輕量級的web框架。html


  設計用於處理 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等請求方法,並提供簡單優雅的 DSL 以返回響應。它提供了一個super-duper-happy-path的交互方式,無需定義各類複雜的路由規則,Nancy會根據你的請求路徑自動匹配。Nancy和ASP.NET MVC不一樣,它更多的是借鑑了Ruby的一些特性。git

 

  Nancy 的特色:
    1. 創建了自下而上的,而不是簡單地DSL的現有框架。刪除不少沒必要要的限制和特性,儘量的只引用你須要的組件。使其保持簡單。
    2. 隨處運行。Nancy不是創建在任何特定的平臺下的的,它能夠在任何地方運行。Nancy支持運行在ASP.NET/IIS,WCF,自宿主和任何OWIN。
    3. 定義了很是輕量的 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等請求。
    4. 集成了各類模板引擎(Razor, Spark, dotLiquid 和自帶的SuperSimpleViewEngine)。
    5. 強大的請求路徑匹配,包括先進的參數功能。路徑匹配策略能夠使用自定義實現您的各類具體需求。
    6. 簡單的Response的語法,能夠返回int、string、HttpStatusCode無需顯式地轉換或封裝你的Response——你只是返回你的參數,其餘的Nancy會幫你完成。
    7. 一個強大的、輕量級的、測試框架幫助您驗證您的應用程序。github

 

  官方網站 : http://nancyfx.org/ 
  Github : https://github.com/NancyFx/Nancyweb

 

  1. 安裝Nancybootstrap

    PM> Install-Package Nancyapp

    PM> Install-Package Nancy.Hosting.Aspnet //Nancy For Asp.net框架

    PM> Install-Package Nancy.Viewengines.Razor ide

    注意:要安裝三個Nancy相關的包。測試

      Nancy ,網站

      Nancy.Hosting.Aspnet ,  Nancy 的  Asp.net 環境

      Nancy.Viewengines.Razor  提供Razor視圖支持,

 

  2. 建立一個空的MVC 項目, ASP.NET Hosting

 

  3. 定義一個Bootstrapper.cs 類,參考例子裏面的bootstrapper.cs文件

    記得配置靜態文件目錄,Nancy 的路由機制,全部的請求包括靜態文件,都得走路由。因此得在bootstrapper.cs 文件裏面配置,不然,會訪問不到。

  

 protected override void ConfigureConventions(Nancy.Conventions.NancyConventions nancyConventions)
   {
       base.ConfigureConventions(nancyConventions);
       nancyConventions.StaticContentsConventions.Add(Nancy.Conventions.StaticContentConventionBuilder.AddDirectory("/", "public"));
   }

    

    還有,cshtml 或者 html 的文件目錄,也得在bootstrapper.cs 中配置,不然會報錯找不到cshtml 文件。

    

 

  4. 建立一個Nancy Module
  

複製代碼
public class SampleModule : Nancy.NancyModule
{
  public SampleModule()
  {
    Get["/"] = _ => "Hello World!";
  }
}
相關文章
相關標籤/搜索