去年11月份参加了青岛MVP线下活动,会上老MVP衣明志介绍了Nancy, 一直没有系统的学习一下,最近正好有空,就结合.NET Core学习总结了一下。app
注: 本文中大部份内容都是对官网文档的翻译和总结。框架
Nancy是一个的轻量级Http的服务框架, 全名NancyFx, Nancy框架的灵感来自于Ruby
的Sinatra框架,其做者名字叫Frank Sinatra, NancyFx这个名字中的Nancy是Frank Sinatra女儿的名字, Fx的意思是Framework, 即框架。学习
首先咱们建立一个空的.Net Core App, 命名为HelloNancy测试
项目建立成功以后,使用Nuget引入Nancy库, 选择(2.0.0-barneyrubble)版本网站
Nancy 2.0.0-barneyrubble是基于.NET Stardard的项目,因此能够在.NET Core中使用ui
注意:写这个实例代码的时候,我使用的是.Net Core 2.1.4, Microsoft.AspNetCore.All中默认已经包含了Microsoft.AspNetCore.Owin, 若是你的.Net Core版本较低,用Nuget手动添加Microsoft.AspNetCore.Owin库翻译
引用添加完成以后,下一步咱们来修改Startup.cs, 这里咱们能够使用app.UseOwin
方法将Nancy注册到NET Core MVC的管线中code
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseOwin(x => x.UseNancy()); }
接下来咱们添加一个新类HelloModule, HelloModule
继承自NancyModule
blog
public class HelloModule : NancyModule { public HelloModule() { Get("/", p => "Hello World"); } }
这里Get方法中有2个参数,第一个参数是相似于NET Core MVC Route的路由模板,第二个参数是当用户请求的Url符合该路由模板的时候,作出的响应, 至关于NET Core MVC中的action。继承
至此一个最简单的Nancy应用就完成了,下面咱们启动项目, 网站中正确显示了"Hello World"
怎么样,看起来是否是很简洁。