博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
net 和Mono 构建的HTTP服务框架
阅读量:5815 次
发布时间:2019-06-18

本文共 1853 字,大约阅读时间需要 6 分钟。

  Nancy是一个基于.net 和Mono 构建的HTTP服务框架,是一个非常轻量级的web框架。

  
  设计用于处理 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等请求方法,并提供简单优雅的 DSL 以返回响应。它提供了一个super-duper-happy-path的交互方式,无需定义各种复杂的路由规则,Nancy会根据你的请求路径自动匹配。Nancy和ASP.NET MVC不同,它更多的是借鉴了Ruby的一些特性。
  
  Nancy 的特点:
  
  1. 建立了自下而上的,而不是简单地DSL的现有框架。删除很多不必要的限制和特性,尽可能的只引用你需要的组件。使其保持简单。
  
  2. 随处运行。Nancy不是建立在任何特定的平台下的的,它可以在任何地方运行。Nancy支持运行在ASP.NET/IIS,WCF,自宿主和任何OWIN。
  
  3. 定义了非常轻量的 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等请求。
  
  4. 集成了各种模板引擎(Razor, Spark, dotLiquid 和自带的SuperSimpleViewEngine)。
  
  5. 强大的请求路径匹配,包括先进的参数功能。路径匹配策略可以使用自定义实现您的各种具体需求。
  
  6. 简单的Response的语法,可以返回int、string、HttpStatusCode无需显式地转换或封装你的Response——你只是返回你的参数,其他的Nancy会帮你完成。
  
  7. 一个强大的、轻量级的、测试框架帮助您验证您的应用程序。
  
  官方网站 : http://nancyfx.org/
  
  Github : https://github.com/www.8555388.cn/ NancyFx/Nancy
  
  1. 安装Nancy
  
  PM> Install-Package Nancy
  
  PM> Install-Package Nancy.Hosting.Aspnet //Nancy For Asp.net
  
  PM> Install-Package Nancy.Viewengines.Razor
  
  注意:要安装三个Nancy相关的包。
  
  Nancy ,
  
  Nancy.Hosting.Aspnet , Nancy 的 Asp.net 环境
  
  Nancy.Viewengines.Razor 提供Razor视图支持,
  
  2. 创建一个空的MVC 项目, ASP.NET Hosting
  
  3. 定义一个Bootstrapper.cs 类,参考例子里面的bootstrapper.cs文件
  
  记得配置静态文件目录,Nancy 的路由机制,所有的请求包括静态文件,都得走路由。所以得在bootstrapper.cs 文件里面配置,否则,会访问不到。
  
  protected override void ConfigureConventions(Nancy.Conventions.NancyConventions nancyConventions)
  
  {
  
  base.ConfigureConventions(nancyConventions);
  
  nancyConventions.StaticContentsConventions.Add(Nancy.Conventions.StaticContentConventionBuilder.AddDirectory("/", "public"));
  
  }
  
  还有,cshtml 或者 html 的文件目录,也得在bootstrapper.cs 中配置,否则会报错找不到cshtml 文件。
  
  4. 创建一个Nancy Module
  
  复制代码
  
  public class SampleModule : Nancy.NancyModule
  
  {
  
  public SampleModule(www.thylpt1.com)
  
  {
  
  Get["/"] = _ => www.078881.cn "Hello World!";

转载地址:http://tombx.baihongyu.com/

你可能感兴趣的文章
Win配置Apache+mod_wsgi+django环境+域名
查看>>
第四届中国汽车产业信息化技术创新峰会将于6月在沪召开
查看>>
linux清除文件内容
查看>>
WindowManager.LayoutParams 详解
查看>>
find的命令的使用和文件名的后缀
查看>>
Android的Aidl安装方法
查看>>
Linux中rc的含义
查看>>
曾鸣:区块链的春天还没有到来| 阿里内部干货
查看>>
如何通过Dataworks禁止MaxCompute 子账号跨Project访问
查看>>
js之无缝滚动
查看>>
Django 多表联合查询
查看>>
logging模块学习:basicConfig配置文件
查看>>
Golang 使用 Beego 与 Mgo 开发的示例程序
查看>>
ntpdate时间同步
查看>>
+++++++子域授权与编译安装(一)
查看>>
asp.net怎样在URL中使用中文、空格、特殊字符
查看>>
路由器发布服务器
查看>>
实现跨交换机VLAN间的通信
查看>>
jquery中的data-icon和data-role
查看>>
MySQL索引底层实现
查看>>