NancyFX 第一章 NancyFX 简介
Nancy是.NET 平台的微框架。在受到Ruby社区的Sinatra框架启发下,NancyFx框架提供一个.NET平台下的低门槛、易上手的可用于Web开发工具包。
请注意我说的是可用于Web开发,这是有原因的。NancyFx不只是一个用于构建Web站点或API节点的Web框架。它是一个完整的框架,可提供基于Http的服务功能,可以构建简单控制台程序,也可以搭建大型的企业网站。
Nancy可以以传统的形式来托管,比如 IIS7下,它也可以自托管。自托管是特别有趣,因为它意味着通常的后台应用程序 (如 Windows 服务) 现在可以有
web 接口来进行管理。
Nancy还能通过Mono框架在 Linux 和 Unix 系统上构建、运行。这意味着你可以 (或至少应该能够) 在 Android 和 Mac OS 上运行您启用Nancy的代码。
你可能已经想问否应使用Nancy取代另一个框架,例如 MVC、 ASP、 Ember或 ServiceStack。你怎么知道哪一个是最好?事实是在你的职业生涯中没有"最好的框架"可用于所有的开发任务。你只是为手头的任务选择的最好的框架。
我只知道的是,Nancy提供了大量的功能 ,并且是非常容易上手使用的。
做个比较,当我第一次发现关于Nancy (早在 2011 年,关于 0.8 或 0.9 版本),在半天之内,我就学会了一切我需要知道的,开始编写代码运行程序。而当我使用了ASP.NET MVC多年以后,却仍然是一个持续的学习过程。
Nancy能做什么?这里是基本框架内置功能的简短列表︰
- 基于 rest 路由
- 内置的简单视图引擎,可置换
- 提供静态文件服务
- 多租户服务托管
- Rest API 认证 (基本认证,表单认证和基于令牌的认证)
- 灵活模型绑定
- 多格式内容协商
- 密码密钥和短语生成
- SSL 证书处理
- 异步任务处理
- 依赖注入
此列表是只是冰山一角;这里提到的功能,出于工具包的模块化设计,所有的代码都可以被客户端代码重载。你可以轻松地插入您自己的依赖注入容器,或扩展你自己的身份验证方案。
配合第三方程序集,可用来添加一些功能到到Nancy中︰
- 基于 OAuth 的身份验证
- 连接第三方诊断和日志记录组件
- 跨平台集成到诸如 NGINX,Apache 和其他非 Windows 应用程序堆栈
- 编写适配器,也能接入其他的什么
最后一点还是要强调的,你可以轻松地覆盖任何你想要的(或需要)。Nancy中的每个接口都是公开的,最棒的是自动串联起来的,这意味着你通常需要做的是编写一个类,实现一个给定的接口,Nancy就能找到它,剩下的就交给它了。
还有一个大招是Nancy的托管方案,NancyWiki 上的基本列表如下:
- ASP.NET
- WCF(Windows communication foundation)
- Microsoft Azure
- OWIN
- Self-hosting (standalone apps)
- Umbraco
- NGINX
- 支持FastCGI的所有服务器
当然你可以实现接口,自己开发一个托管容器。
总结
在本章中,您学习了 NancyFX 框架是什么和它的功能是什么。在下一章中,你会了解多一点关于Nancy的创作背后的背故事以及一点点更多关于精神、理念和"super-duper-happy-path"(有人解释为简单粗暴行之有效)。
NancyFX 第一章 NancyFX 简介的更多相关文章
- 第一章 C++简介
第一章 C++简介 1.1 C++特点 C++融合了3种不同的编程方式:C语言代表的过程性语言,C++在C语言基础上添加的类代表的面向对象语言,C++模板支持的泛型编程. 1.2 C语言及其编程 ...
- python 教程 第一章、 简介
第一章. 简介 官方介绍: Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程.Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使 ...
- 学习笔记-[Maven实战]-第一章:Maven简介
Maven简介: Maven 可翻译为:知识的积累,也可以翻译为"专家"或"内行". Maven 是一个跨平台的项目管理工具,是Apache组织中一个很成功的开 ...
- 《跟我学Shiro》学习笔记 第一章:Shiro简介
前言 现在在学习Shiro,参照着张开涛老师的博客进行学习,然后自己写博客记录一下学习中的知识点,一来可以加深理解,二来以后遗忘了可以查阅.没有学习过Shiro的小伙伴,也可以和我一起学习,大家共同进 ...
- 《JavaScript高级程序设计》——第一章JavaScript简介
第一章主要讲了JavaScript的诞生和发展.刚刚接触JavaScript的我,似乎对这些内容并不感兴趣,快速看了一遍就开始去看第二章了. 看完第一章,收获也就是了解到JavaScript由ECMA ...
- 第一章 Shiro简介——《跟我学Shiro》(转)
目录贴:跟我学Shiro目录贴 1.1 简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可 ...
- 第一章 Mysql 简介及安装和配置
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一. ...
- python第一章:简介与安装--小白博客
Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...
- 用 WEKA 进行数据挖掘 ——第一章:简介
1.简介数据挖掘.机器学习这些字眼,在一些人看来,是门槛很高的东西.诚然,如果做算法实现甚至算法优化,确实需要很多背景知识.但事实是,绝大多数数据挖掘工程师,不需要去做算法层面的东西.他们的精力,集中 ...
随机推荐
- 摩根大通银行被黑客攻克, ATM机/网银危在旦夕,winxp退市灾难来临了
winxp4月退市到如今还不到半年,就出现故障了 7600多万个消费者银行账户被黑.此外还有700万个小企业账户的信息也被黑客窃取,这个算不算灾难呢?假设等到银行业彻底崩溃,资金彻底丧失,那不仅仅是灾 ...
- MyBatis缓存介绍
一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 相同提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地缓存.其存储作用域为 Se ...
- <二代測序> 下载 NCBI sra 文件
本文近期更新地址: http://blog.csdn.net/tanzuozhev/article/details/51077222 随着測序技术的不断提高.二代測序数据成指数增长. NCBI提供了S ...
- IIS7.5 配置ASP+ACCESS使用环境(转)
Win7默认不安装IIS7.5. 安装的步骤为:开始-控制面板-程序-打开或关闭Windows功能-Internet信息服务.IIS7.5安装时需要注意的是,如果需要ASP.ASP.NET等的支持,是 ...
- 计算机网络--DNS
1.域名系统DNS(domain name system)是因特网使用的命名系统,用来把便于人们时用的机器名字转换为IP地址.因特网的域名系统DNS被设计成一个联机分布式数据库系统,并采用客户服务器方 ...
- Generalised Policy Iteration With Monte-Carlo Evaluation
http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/control.pdf
- 去ioe
http://baike.baidu.com/link?url=ntILcQyM_S7rpsbUrVu7vLEKHXNfSlJyWdWQnUo9LYO7JfoOpDEvbKldXobL0_nUEkXn ...
- python cookbook第三版学习笔记五:datetime
Python中表示时间的模块是datetime,引入下面的模块 from datetime import datetime,timedelta print datetime.today() #打印出 ...
- 您使用的是不受支持的命令行标记 chrome
检查 chrome://flags/#extensions-on-chrome-urls 是否开启 开启了的话就关掉检查 启动chrome的快捷方式是否在目标后有额外的参数 有就删了 在浏览器中输入c ...
- c语言高速推断一个数是偶数还是奇数
#include <stdio.h> int main() { int a; while(1) { printf("please input the number:\n" ...