Nancy.Net之旅-初次見面


Welcome Nancy

 
首先,歡迎來到Nancy!我們的主要靈感是Ruby的Sinatra框架,因此Nancy以Frank Sinatra的女兒名字命名。許多人想知道NancyFx中的Fx是什么意思,就是這樣,它僅僅意味着框架!NancyFx是包含所有組件的整體項目的總稱。

這些指南將帶你快速瀏覽Nancy的一些功能,而不會存在太多細節。會有更多沒有遇見的事情.所以我們也邀請你去探索Nancy。

Nancy是一個輕量級的低成本框架,在.NET 和MONO上 用於構建基於HTTP的服務。框架的目標是盡可能的避開HTTP細節,為所有的交互提供一個 super-duper-happy-path。

這意味着Nancy的一切都設置成切合實際的默認值和約定,而不是讓你費勁力氣的去通過配置只為了啟動和運行。用Nancy 你確實可以用幾分鍾的時間從零來構建網站。

Nancy被設計用來處理 DELETE,GET.HEAD.OPTIONS,POST,PUT和PATCH請求,並提供一個簡單,優雅,領域特定語言(DSL)的返回,只需要幾個按鍵響應,讓你有更多的時間去關注代碼和應用程序重要的部分。

這一切都是由社區構建的,作為一個開源框架,意味着您可完全訪問源代碼,並根據MIT許可證獲得許可。

您可以通過Nuget,TeamCity服務(最新版本)獲取Nancy或者從GitHub下載源代碼。

構建在任何地方

 
我們的意思是 Nancy被建立在任何地方運行,從一開始Nancy被設計為不依賴現有框架。通過.NET框架客戶端配置文件構建,Nancy可以提供幾乎任何你想要的,因為它完全包含自己的請求和響應對象。

Nancy的核心概念之一是主機。主機充當主機環境和Nancy的適配器,從而使Nancy能夠運行在現有的技術(如ASP.NET ,WCF和OWIN)上 ,或被集成到任何給定的應用程序中。

核心的Nancy框架並不提供特定的主機實現。他們被前面提到的來源提供單獨的實現,以及許多附加的功能如表單驗證,構建Nancy應用程序就像是在Web框架中挑選你最喜歡的部分!通常,在您構建一個Nancy服務時,核心框架和一個主機是必要的。

Super-Duper-Happy-Path

 
"super-duper-happy-path"(或SDHP,如果你會哄小孩子) 是我們用來描述Nancy特性的短語;這個經驗是我們所有API中所追求的。

雖然很難准確的確定它是什么,但畢竟是一個非常感性的術語,但它背后的基本想法是:

它只是工作

你應該可以拿起並沒有任何問題的使用它們。

新增一個新的模塊?

這是自動被發現的。

引進一個新的視圖引擎?所有的關聯都可以隨時准備,而無需執行任何其他的操作。

使您向模塊添加了新的依賴項,默認情況下,我們將找到並為其注入-無需配置

低儀式

在您的應用中所需要的"Nancy 代碼" 數量應該很少,在任何Nancy應用程序中最重要的部分是您的代碼-我們的代碼應該讓您的代碼構建出令人驚嘆的應用程序。

作為證明,實際上可以將功能性的Nancy應用程序安裝到單獨的Tweet中。

低干擾

當通過Nancy Api構建軟件時,可以幫助你獲得您想去的地方,而不是用你自己的方式。

命名應該是易於理解的,所有的配置都應該是最小化的,但當你需要時,功能和可擴展性依然存在。

輕松可定制

即使 "它只是工作" ,如果您想要使用其他組件的工作方式,則不應該存在阻礙自定義工作的障礙。

想要使用另一個容器?沒問題!

想要調整路由的選擇方式 ? 去吧!

通過我們的bootstrapper 方法,所有這些都變得小菜一碟。

最重要的是通過Nancy創建應用程序是快樂的,並有期望的樂趣!而不會犧牲您應用程序提高所需的功能和擴展性。

創建您的第一個 Nancy應用程序

足夠的談話,讓我們看看一些代碼!

們假定您已經安裝並使用 NuGet和Visual Studio 2010 ,然而對於Mono (使用 2.10.2或更高版本)和MonoDevelop也同樣適用。我們將使用Nancy和Nancy的 Asp.net主機構建無處不在的"Hello world"應用程序。

 

1. 如果使用visual studio 2012 或更高版本,請安裝 visual studio 的 SideWaffle模板包。visual studio 用戶可以安裝 Nancy 項目模板。

2. 如果使用sideWaffle 通過ASP.NET 主機創建一個新的Nancy 空項目,或者使用Nancy 項目模板創建一個空的Web 應用程序

3. 添加一個Nancy 模塊,它是一個標准的C#類,通過構造函數添加少量代碼為Web應用程序的跟路徑定義一個 路由處理程序

4. 編譯運行並查看結果!

5. 雖然建議但是並不必要,使用NuGet包管理器可以檢查任何更新。

Practice&Hello Nancy

先安裝上邊提到的方法,下載模板創建Nancy 項目 這里

 

之后創建 Nancy empty project with Asp.net host 項目

新建Module ,如上所述 這是一個 標准的C#類,讓我們新建的 C#類 繼承NancyModule,這樣一個Nancy模塊就產生了。

然后在Module的構造方法中,添加一個 對根路徑的處理程序,代碼很簡單,僅僅返回 'Hello Nancy'。

F5 運行

 

總結

 

事實上,當我第一次看到Nancy 主頁上 的這行幾行代碼,便對她產生了興趣。

 

 1 Install
 2 PM> Install-Package Nancy
 3 Write
 4 public class SampleModule : Nancy.NancyModule
 5 {
 6     public SampleModule()
 7     {
 8         Get["/"] = _ => "Hello World!";
 9     }
10 }
11 Go!

 

轉載請標明出自:本文地址

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM