Nancy总结(一)Nancy一个轻量的MVC框架
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/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()
{
Get["/"] = _ => "Hello World!";
}
}
Nancy总结(一)Nancy一个轻量的MVC框架的更多相关文章
- 对 JDBC 做一个轻量封装,待完善。。。
对 JDBC 做一个轻量地封装,顺便复习,熟悉sql,io,util,lang.Reflect等包的使用,泛型的使用,待完善... package com.webproj.utils; import ...
- vue-concise-slider 一个轻量的vue幻灯片组件
vue-concise-slider 一个轻量的vue幻灯片组件 阅读 541 收藏 35 2017-07-03 原文链接:github.com 外卖订单处理有烦恼?试试美团点评餐饮开放平台吧,可实现 ...
- Day.js 是一个轻量的处理时间和日期的 JavaScript 库
Day.js 是一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样. 如果您曾经用过 Moment.js, 那么您已经知道如何使用 Day.js ...
- Node.js简单介绍并实现一个简单的Web MVC框架
编号:1018时间:2016年6月13日16:06:41功能:Node.js简单介绍并实现一个简单的Web MVC框架URL :https://cnodejs.org/topic/4f16442cca ...
- 从零开始实现一个简易的Java MVC框架(三)--实现IOC
Spring中的IOC IoC全称是Inversion of Control,就是控制反转,他其实不是spring独有的特性或者说也不是java的特性,他是一种设计思想.而DI(Dependency ...
- 轻量型ORM框架Dapper的使用
在真实的项目开发中,可能有些人比较喜欢写SQL语句,但是对于EF这种ORM框架比较排斥,那么轻量型的Dapper就是一个不错的选择,即让你写sql语句了,有进行了关系对象映射.其实对于EF吧,我说下我 ...
- 轻量的web框架Bottle
简洁的web框架Bottle 简介 Bottle是一个非常简洁,轻量web框架,与django形成鲜明的对比,它只由一个单文件组成,文件总共只有3700多行代码,依赖只有python标准库.但是麻雀虽 ...
- 一个简单 Go Web MVC 框架实现思路
需要的知识点 为了防止你的心里不适,需要以下知识点: Go 基本知识 Go 反射的深入理解 使用过框架 Go Web 服务器搭建 package main import ( "fmt&quo ...
- 自己写一个轻量的JqueryGrid组件
接触mvc不久,突然没有了viewstate和服务端控件处处都觉得不顺手,很多在webform时不必要考虑的问题都出现在眼前,这其中分页时查询条件保持的问题又是最让我头疼的事情,权衡再三,决定用aja ...
随机推荐
- 100200H
这是个bfs 首先建图,先从终点bfs求出每点距离,然后从起点开始,确定初始方向:某点和自己相邻距离比自己小1就是 然后就先贪心和上次一样的方向,如果不能走,就找出一个方向,把自己当前方向改掉,重复过 ...
- Elasticsearch静态集群配置
这两天需要将ELK中的单节点运行的ES扩展为双节点,查询了下集群配置,百度搜索结果还是一如既往的坑,基本都是各种转帖,以下记录配置静态集群的步骤: * * * <pre><code& ...
- java-Date、String、Calendar转化
1.Calendar 转化 String //获取当前时间的具体情况,如年,月,日,week,date,分,秒等 Calendar calendat = Calendar.getInstance(); ...
- Android与H5交互(java与js的交互)
一.理论概述 1.js调用java方法 直接调用WebView的该方法就可以添加接口了,不过先要启动交互 // 启用javascript mWebView.getSettings().setJavaS ...
- shell中substr总结
(1)awk中函数substr substr(源字符串,开始索引,长度) 开始索引以0开始 示例: awk '{$a=substr($0,0,2);print $a;}' filename 假设文 ...
- C# 后台json转换成时间格式
1传入json 字符进行转换 public DateTime ConvertTime(string milliTime) { long timeTri ...
- bbs树形打印(一)
前言:大家在bbs回帖时常常可以看到树形的回复形式. dfs设计 (1) 为使得Connection仅打开一次,因此以conn作为其中一个递归参数,在递归全程不关闭conn; (2)根据存入数据的树状 ...
- Hadoop 权威指南学习2 (Sqoop)
6. Sqoop Apache sqoop is an open source tool that allow users to extract data from structured data s ...
- 【caffe】create_cifar10.sh在windows下解决方案
@tags caffe python windows下配置caffe后,create_cifar10.sh无法执行,因为是shell脚本.那就看懂脚本意思,用python重写一个: # create_ ...
- Linux列出安装过的程序
命令行: dpkg -l apt-cache(模糊搜索apt-cache search 包名) pkgnames yum list(ubuntu下试了无效) rpm -aq(ubuntu下试了无效)