首页 > 代码库 > ASP.NET Core开发-使用Nancy框架

ASP.NET Core开发-使用Nancy框架

Nancy简介

Nancy是一个轻量级的独立的框架,下面是官网的一些介绍:

  • Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能多的方式,并提供一个super-duper-happy-path所有交互。
  • Nancy 设计用于处理 DELETEGETHEADOPTIONSPOSTPUT和 PATCH 等请求方法,并提供简单优雅的 DSL 以返回响应。让你有更多时间专注于你的代码和程序。

官方地址:http://nancyfx.org   GitHub:https://github.com/NancyFx/Nancy

Nancy 在前两天 发布了一个  v2.0.0-barneyrubble 版本,支持ASP.NET Core 1.0。

如何在 ASP.NET Core 中使用 Nancy 框架,下面我们就来学习。

创建ASP.NET Core Nancy项目

宿主使用 ASP.NET Core Host Kestrel

首先新建一个ASP.NET Core 应用程序,下一步选择空的模板。

技术分享

技术分享

 

下面来添加引用。

首先添加 Microsoft.AspNetCore.Owin

Install-Package Microsoft.AspNetCore.Owin

然后添加 Nancy

Install-Package Nancy -Pre

添加好以后我们就可以来编写代码。

在 Startup.cs 添加 Nancy.Owin 引用,并在Configure 方法加入如下代码:

        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            app.UseOwin(x => x.UseNancy());
        }

 

然后我们来添加Module,可以理解为是 Nancy的 Controller 。

这里添加一个HomeModule,我们添加一个类 HomeModule.cs ,然后继承 NancyModule。

    public class HomeModule:NancyModule
    {
        public HomeModule()
        {
            Get("/", r => "Nancy running on ASP.NET Core LineZero");
            Get("/{name}", r => "简单的路由模板,路由参数:"+r.name);
            Get("/404", r => HttpStatusCode.NotFound);
        }
    }

 

然后运行程序,这里我们使用 Kestrel 运行。

http://localhost:5000

技术分享

 

http://localhost:5000/linezero

技术分享

http://localhost:5000/404

技术分享

这个是Nancy自带的404,我们也可以自己处理。

本篇主要讲解Nancy 在 ASP.NET Core中的使用,更多Nancy的介绍及使用,可以参考我之前的一些文章,Nancy 是的一个非常轻量型的框架。

 

如果你觉得本文对你有帮助,请点击“推荐”,谢谢。

参考页面:

http://www.yuanjiaocheng.net/CSharp/Csharp-list-fanx.html

http://www.yuanjiaocheng.net/CSharp/csharp-nullable.html

http://www.yuanjiaocheng.net/mvc/create-first-mvc.html

http://www.yuanjiaocheng.net/CSharp/csharp-extension-method.html

http://www.yuanjiaocheng.net/mvc/mvc-helper-textbox.html

http://www.yuanjiaocheng.net/ASPNET-CORE/core-login-logout.html

http://www.yuanjiaocheng.net/ASPNET-CORE/core-views.html

http://www.yuanjiaocheng.net/CSharp/first.html

http://www.yuanjiaocheng.net/ASPNET-CORE/core-razor-taghelpers.html

http://www.yuanjiaocheng.net/mvc/mvc-helper-TextArea.html

http://www.yuanjiaocheng.net/mvc/create-layout-view-in-mvc.html

ASP.NET Core开发-使用Nancy框架