輕量級的Web框架——Nancy

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

  • 簡單,能快速帳務,開發
  • 能.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並不依賴任何現有的框架,因此他能夠運行在任何平臺上面。

它基本能知足我上面的要求。首先他很是簡單,以下是一個簡單示例:app

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();
}
spa

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

相關文章
相關標籤/搜索