輕量級的Web框架——Nancy


最近想找一個簡單的.Net下的輕量級Web框架,作為用戶的本地的一個WebServer,實現同瀏覽器程序的一些簡單交互,並調用本地服務,實現類似瀏覽器插件的功能。它有如下幾點要求:

  • 簡單,能快速掌握、開發
  • 能.net framework上實現,因為要通過它就像一些系統調用,.net core要麻煩些。最好能支持.net 4.0,以能在一些用XP的上古時代的機器上使用
  • 能實現SelfHost,如果需要IIS承載的話,除了安裝麻煩外,權限也受限制。

雖然Asp.net本身能滿足這個要求,可以通過owin的方式實現selfhost,但是我覺得它還是太重了。直到后來找到了Nancy這個Web框架,官網的說明如下:

  • Nancy是一個輕量級的獨立的框架,下面是官網的一些介紹:
  • Nancy 是一個輕量級用於構建基於 HTTP 的 Web 服務,基於 .NET 和 Mono 平台,框架的目標是保持盡可能多的方式,並提供一個super-duper-happy-path所有交互。
  • Nancy 設計用於處理 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等請求方法,並提供簡單優雅的 DSL 以返回響應。
  • Nancy和Asp.net MVC原理相似,但有自己的一套路由機制,在使用上更加易用,可以用Nancy快速開發一些網站。
  • Nancy並不依賴任何現有的框架,所以他可以運行在任何平台上面。

它基本能滿足我上面的要求。首先他非常簡單,如下是一個簡單示例:

public class Module : NancyModule
{
    public Module()
    {
        Get("/greet/{name}"x => {
            return string.Concat("Hello "x.name);
        });
    }
}

另外,它也支持SelfHost,安裝Nancy.Hosting.Self即可:

using (var host = new NancyHost(new Uri("http://127.0.0.1:3122")))
{
    host.Start();
    Console.WriteLine("Running on http://localhost:3122");
    Console.ReadLine();
}

國內也有一些文章在介紹這個庫,感興趣的朋友可以看下:

 


免責聲明!

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



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