zoukankan      html  css  js  c++  java
  • 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 是的一个非常轻量型的框架。

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

  • 相关阅读:
    flutter项目目录介绍
    flutter真机调试出现flutter Launching 'app' on No Devices.
    flutter run出现 Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
    小程序uni-app中uview中select选择器第二次无法选中设置的默认值
    android studio编译flutter项目
    如何解决:Android Studio (version 4.1); Flutter plugin not installed and Dart plugin not installed errors
    CF Round 87
    CF #643(div.2)
    CF #642(div.3)
    CF #638(div.2)
  • 原文地址:https://www.cnblogs.com/linezero/p/5672772.html
Copyright © 2011-2022 走看看