1. 程式人生 > >net 和Mono 構建的HTTP服務框架

net 和Mono 構建的HTTP服務框架

ots .config app pac spn 請求方法 park 找不到 get

  Nancy是一個基於.net 和Mono 構建的HTTP服務框架,是一個非常輕量級的web框架。
  
  設計用於處理 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等請求方法,並提供簡單優雅的 DSL 以返回響應。它提供了一個super-duper-happy-path的交互方式,無需定義各種復雜的路由規則,Nancy會根據你的請求路徑自動匹配。Nancy和ASP.NET MVC不同,它更多的是借鑒了Ruby的一些特性。
  
  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. 一個強大的、輕量級的、測試框架幫助您驗證您的應用程序。
  
  官方網站 : http://nancyfx.org/
  
  Github : https://github.com/www.8555388.cn/ NancyFx/Nancy
  
  1. 安裝Nancy
  
  PM> Install-Package Nancy
  
  PM> Install-Package Nancy.Hosting.Aspnet //Nancy For Asp.net
  
  PM> Install-Package Nancy.Viewengines.Razor
  
  註意:要安裝三個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(www.thylpt1.com)
  
  {
  
  Get["/"] = _ => www.078881.cn "Hello World!";

net 和Mono 構建的HTTP服務框架