轻量级的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

相关文章
相关标签/搜索