NancyFX 第一章 NancyFX 簡介


   Nancy是.NET 平台的微框架。在受到Ruby社區的Sinatra框架啟發下,NancyFx框架提供一個.NET平台下的低門檻、易上手的可用於Web開發工具包。

   請注意我說的是可用於Web開發,這是有原因的。NancyFx不只是一個用於構建Web站點或API節點的Web框架。它是一個完整的框架,可提供基於Http的服務功能,可以構建簡單控制台程序,也可以搭建大型的企業網站。

    Nancy可以以傳統的形式來托管,比如 IIS7下,它也可以自托管。自托管是特別有趣,因為它意味着通常的后台應用程序 (如 Windows 服務) 現在可以有 

web 接口來進行管理。

    Nancy還能通過Mono框架在 Linux 和 Unix 系統上構建、運行。這意味着你可以 (或至少應該能夠) 在 Android 和 Mac OS 上運行您啟用Nancy的代碼。

    你可能已經想問否應使用Nancy取代另一個框架,例如 MVC、 ASP、 Ember或 ServiceStack。你怎么知道哪一個是最好?事實是在你的職業生涯中沒有"最好的框架"可用於所有的開發任務。你只是為手頭的任務選擇的最好的框架。

    我只知道的是,Nancy提供了大量的功能 ,並且是非常容易上手使用的。

    做個比較,當我第一次發現關於Nancy (早在 2011 年,關於 0.8 或 0.9 版本),在半天之內,我就學會了一切我需要知道的,開始編寫代碼運行程序。而當我使用了ASP.NET MVC多年以后,卻仍然是一個持續的學習過程。

    Nancy能做什么?這里是基本框架內置功能的簡短列表︰

  • 基於 rest 路由
  • 內置的簡單視圖引擎,可置換
  • 提供靜態文件服務
  • 多租戶服務托管
  • Rest API 認證 (基本認證,表單認證和基於令牌的認證)
  • 靈活模型綁定
  • 多格式內容協商
  • 密碼密鑰和短語生成
  • SSL 證書處理
  • 異步任務處理
  • 依賴注入

    此列表是只是冰山一角;這里提到的功能,出於工具包的模塊化設計,所有的代碼都可以被客戶端代碼重載。你可以輕松地插入您自己的依賴注入容器,或擴展你自己的身份驗證方案。

    配合第三方程序集,可用來添加一些功能到到Nancy中︰

  • 基於 OAuth 的身份驗證
  • 連接第三方診斷和日志記錄組件
  • 跨平台集成到諸如 NGINX,Apache 和其他非 Windows 應用程序堆棧
  • 編寫適配器,也能接入其他的什么

    最后一點還是要強調的,你可以輕松地覆蓋任何你想要的(或需要)。Nancy中的每個接口都是公開的,最棒的是自動串聯起來的,這意味着你通常需要做的是編寫一個類,實現一個給定的接口,Nancy就能找到它,剩下的就交給它了。

    還有一個大招是Nancy的托管方案,NancyWiki 上的基本列表如下:

  • ASP.NET
  • WCF(Windows communication foundation)
  • Microsoft Azure
  • OWIN
  • Self-hosting (standalone apps)
  • Umbraco
  • NGINX
  • 支持FastCGI的所有服務器

    當然你可以實現接口,自己開發一個托管容器。

總結

    在本章中,您學習了 NancyFX 框架是什么和它的功能是什么。在下一章中,你會了解多一點關於Nancy的創作背后的背故事以及一點點更多關於精神、理念和"super-duper-happy-path"(有人解釋為簡單粗暴行之有效)。


免責聲明!

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



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