asp.net nancy_如何在ASP.Net Core中使用Nancy
asp.net nancy
Nancy是用于构建基于HTTP的服务的轻量级框架。 Nancy更喜欢约定而不是配置,并提供对GET,HEAD,POST,PUT,DELETE和PATCH操作的支持。 Nancy在MIT许可下也是开源的。 本文讨论了如何将Nancy与ASP.Net Core应用程序一起使用。
Nancy是一个Web框架,不依赖System.Web或其他.Net库。 最重要的是,如果您使用的是Nancy,则不必遵守MVC模式或任何其他模式。 Nancy只是可以响应HTTP动词的服务端点。 这使Nancy成为构建网站,API和Web服务的理想选择。
[Git要点: Git版本控制入门 。 • Git和GitHub的20个基本指针 。 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]
南希与宿主无关。 您可以将其作为Windows服务在IIS中,在WCF中作为Windows服务运行,嵌入在.exe文件中或自托管应用程序中。 南希非常容易设置和自定义。 Nancy的另一个优点是其对依赖项注入的内置支持。 Nancy还提供了可轻松用于测试请求-响应周期的库。 我将在以后的文章中讨论Nancy的这一功能。
在Visual Studio中创建一个ASP.Net Core项目
首先,让我们在Visual Studio中创建一个ASP.Net Core项目。 如果您的系统中未安装Visual Studio 2019,则可以在此处下载它 。
若要在Visual Studio 2019中创建一个新的ASP.Net Core项目,请执行以下步骤。
- 启动Visual Studio IDE。
- 点击“创建新项目”。
- 在“创建新项目”窗口中,从显示的模板列表中选择“ ASP.Net Core Web应用程序”。
- 点击下一步。
- 在“配置新项目”窗口中,指定新项目的名称和位置。
- 单击创建。
- 在“创建新的ASP.Net Core Web应用程序”窗口中,从顶部的下拉列表中选择.Net Core作为运行时,并选择ASP.Net Core 2.2(或更高版本)。
- 选择“ Web应用程序”作为项目模板。
- 确保未选中“启用Docker支持”和“配置HTTPS”复选框,因为我们此处将不使用这些功能。
- 确保将身份验证设置为“无身份验证”,因为我们也不会使用身份验证。
- 单击创建。
现在,您应该已经准备好在Visual Studio中使用一个新的ASP.Net Core项目。 我们将在以下各节中使用该项目来构建我们的自定义托管服务。
在ASP.Net Core中安装和配置Nancy
要安装Nancy,请在“解决方案资源管理器”窗口中右键单击您的项目,然后选择“管理NuGet软件包…”。 然后,在NuGet软件包管理器窗口中,搜索Nancy并安装它。 或者,您可以使用以下命令从NuGet软件包管理器控制台安装Nancy。
Install-Package Nancy
一旦安装了Nancy,下一步应该配置Nancy。 为此,您应该在Startup类的Configure方法中调用UseNancy方法,如下所示。
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.UseMvc(); app.UseOwin(x => x.UseNancy()); }
在ASP.Net Core中创建您的第一个Nancy模块
到目前为止,一切都很好。 现在让我们创建一个Nancy模块并为其编写一些代码。 Nancy模块是标准的C#类,它扩展了Nancy框架的NancyModule类。
public class HomeModule : NancyModule{}
应该注意的是,您必须将Nancy模块声明为public。 Nancy框架无法发现未标记为公共的模块。
在ASP.Net Core中的Nancy模块中创建路由
Nancy模块在其构造函数中定义路由。 要在Nancy中定义路由,您应该指定HTTP动词,模式,操作和(可选)条件。 这是说明Nancy路由定义的示例。
public class HomeModule : NancyModule{ public HomeModule() { Get("/", args => GetAllAuthors()); Get("/{id:int}", args => GetAuthorById(args.id)); }}
本质上,Nancy模块是定义HTTP端点的地方。 以下代码段说明了可以处理三个不同GET请求的Nancy模块。
public class HomeModule : NancyModule { public HomeModule() { Get("/", args => "Welcome to Nancy."); Get("/Test", args => "Test Message."); Get("/Hello", args => $"Hello {this.Request.Query["name"]}"); } }
Nancy不仅重量轻,模块化且快速,而且安装和配置非常容易。 您可以使用Nancy以最小的努力提供基本的HTTP服务。 要了解有关Nancy框架的更多信息,可以参考GitHub上的文档 。
翻译自: https://www.infoworld.com/article/3393455/how-to-use-nancy-in-aspnet-core.html
asp.net nancy
asp.net nancy_如何在ASP.Net Core中使用Nancy相关推荐
- 如何在ASP.Net Core中使用Nancy
Nancy是用于构建基于HTTP的服务的轻量级框架. Nancy更喜欢约定而不是配置,并提供对GET,HEAD,POST,PUT,DELETE和PATCH操作的支持. Nancy在MIT许可下也是开源 ...
- asp隐藏邮箱部分字符_asp.net core 中使用 signalR(二)
asp.net core 使用 signalR(二) Intro 上次介绍了 asp.net core 中使用 signalR 服务端的开发,这次总结一下web前端如何接入和使用 signalR,本文 ...
- asp 连接mysql_如何在ASP中连接MySQL数据库
ASP和MySQL连接目前有两种办法:一个是使用组件,比较有名是MySQLX,可惜要99美元.二就是使用MyODBC 来连接,下面我们就来看看第二种方式. 试验的平台: MySQL 4.0 For R ...
- ASP.NET Core开发-使用Nancy框架
Nancy简介 Nancy是一个轻量级的独立的框架,下面是官网的一些介绍: Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能 ...
- [第二篇]如何在ASP.Net Core的生产环境中使用OAuth保护swagger ui
在我上篇文章如何在ASP.Net Core的生产环境中保护swagger ui中,我们讨论了如何使用基本身份验证来保护 swagger ui. 使用 OAuth 2.0 和 OpenIdConnect ...
- NET问答: 如何在 ASP.NET Core 的 .json 文件中读取 AppSettings ?
咨询区 Oluwafemi: 在 appsettings.json 中我有如下的 AppSettings 实体数据,如下代码所示: {"AppSettings": {"t ...
- 如何在 ASP.NET Core 中使用 HttpClientFactory ?
ASP.Net Core 是一个开源的,跨平台的,轻量级模块化框架,可用它来构建高性能的Web程序,这篇文章我们将会讨论如何在 ASP.Net Core 中使用 HttpClientFactory. ...
- 如何在 ASP.Net Core 中使用 Autofac
依赖注入可以有效的实现对象之间的 松耦合 并能够实现代码的可测试和可维护性,ASP.Net Core 提供了一个极简版的容器实现对 依赖注入 的原生支持,然而内置的依赖注入容器相比成熟的 依赖注入容器 ...
- 如何在 ASP.NET Core 中使用 LazyCache
微软的 ASP.NET Core 已经是一个非常流行的用于构建 高性能, 模块化 并能运行在 Windows, Linux, MacOS 上的 WEB 框架,通常能够让程序保持高性能的一个有效途径就是 ...
最新文章
- Tokyo Tyrant基本规范(4)--协议
- Nmap源码分析(操作系统扫描)
- linux系统密码自动丢失,通过单用户模式找回linux系统丢失的密码
- 【Android 安装包优化】WebP 图片格式性能测试 ( 测试 WebP 图片解码速度 | 测试 WebP 图片编码速度 )
- html文档主体的根标签,2 HTML简介标签嵌套和并列关系文档声明
- 配置Windows Server2008故障转移集群
- 网络爬虫--21.Scrapy知识点总结
- Java导出Highcharts需要的3个外部jar包
- 10 倍高清不花!大麦端选座 SVG 渲染
- PHP学习 - Composer的安装及配置
- 解决 Manjaro 中 Linuxqq扫码登陆闪退问题
- iOS 屏幕适配 X XR XS XSMax 尺寸
- web前端开发期末大作业 ——个人主页(可自取源码)
- Google Guava简介
- 【板栗糖GIS】DOS—如何在当前文件夹内部批量建子文件夹
- mysql查询工龄在20年以上_数据库查询练习
- 武魂优化游戏引擎 视觉效果全新进化
- Unity3D魔方游戏如何完成魔方的旋转
- 第七章:项目成本管理 - (7.4 控制成本)
- PX4飞控之PWM输出控制
热门文章
- 基于JAVA的校园二手交易平台(附:源码 论文 数据库文件)
- QGIS之十三矢量化电子地图并矩形化
- 自己拥有一台服务器可以做哪些很酷的事情?
- java后端实现集成支付宝APP支付(沙箱环境)
- 记录微博图床403解决方法
- Spark中--jars与spark.driver.extraClassPath、spark.executor.extraClassPath区别与联系
- 2022年机修钳工(中级)考试题库及模拟考试
- java实现excel导出功能
- vue 如何获取图片的原图尺寸_js获取图片信息(一)-----获取图片的原始尺寸
- 【有限位移旋量理论】罗德里格旋转公式(Rodrigues Rotation Formula)