http://reactivex.io/

https://github.com/dotnet/reactive

http://nancyfx.org/

NancyFX Nancy快速上手 (使用Nancy模板)

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的所有服务器

当然你可以实现接口,自己开发一个托管容器。

在我们进一步深入学习Nancy之前,我们先快速的了解下Visual Studio下的Nancy模板。

采用Nancy模板,创建一个Nancy项目就像我们创建MVC应用或winForm应用一样简单,只需要点击几下鼠标即可。

安装模板包

Nancy模板是Visual Studio的扩展应用,可以从Visual Studio的在线模板库中下载到。

在Visual Studio中导航到菜单 工具 > 扩展和更新

点击上面的按钮会打开扩展和升级对话框

正如Visual Studio 中的其他对话框,在右上角有一个查询框。

在查询框中输入Nancy并点击回车键。几秒钟后,就能在对话框中看到Nancy模板。

点击下载按钮,你的默认浏览器就会开始下载这个扩展应用。

对我而言,我使用的谷歌浏览器,模板下载到左下角。其他浏览器大体相似。

一旦你获得了这个安装程序,下一步就是关闭visual studio,双击下载项安装插件。并不是所有的插件安装都需要关闭visual studio,但通常会更好些,避免一些问题。

如果一切正常,你将看到下面的安装界面

使用模板

在新建项目的对话框中,你可能看到树形的分类,可能有的VS版本看不到,其实最简单的方法是使用搜索(正如之前搜索插件时)

在新建项目对话框的右上角搜索框中输入Nancy,点击回车。你会看到下面的结果:

此时,需要就是根据你的需求选择一个模板。

理论家 2017-05-21 20:37 阅读:193 评论:0
 
理论家 2017-03-04 17:27 阅读:434 评论:0
 
理论家 2017-03-04 17:26 阅读:334 评论:1
 
理论家 2017-03-04 15:34 阅读:451 评论:0
 
理论家 2017-02-19 14:58 阅读:553 评论:1
 
理论家 2017-02-19 14:57 阅读:476 评论:0
 
理论家 2017-02-12 10:56 阅读:656 评论:0
 
理论家 2017-02-04 15:32 阅读:912 评论:0
 
理论家 2017-01-29 10:43 阅读:1808 评论:0
 
理论家 2017-01-21 17:25 阅读:1101 评论:1
 
理论家 2017-01-21 11:31 阅读:1573 评论:0
 
理论家 2016-12-20 17:09 阅读:1172 评论:0
 
理论家 2016-12-20 15:49 阅读:2601 评论:1
 
 
 

Nancy模板下载地址:http://samples.nancyfx.org/Content/Nancy.Templates.vsix

NancyFx And ReactiveX的更多相关文章

  1. NancyFX 简介

    Nancy是.NET 平台的微框架.在受到Ruby社区的Sinatra框架启发下,NancyFx框架提供一个.NET平台下的低门槛.易上手的可用于Web开发工具包. 请注意我说的是可用于Web开发,这 ...

  2. 【转载】ReactiveX 的理念和特点

    原作者地址:http://www.open-open.com/lib/view/open1440166491833.html ReactiveX是Reactive Extensions的缩写,一般简写 ...

  3. ReactiveX编程范式

    ReactiveX http://reactivex.io/ An API for asynchronous programmingwith observable streams The Observ ...

  4. NancyFx开发-Razor视图using外部Dll解决方案

    问题:NancyFx框架 Razor视图无法using 其他项目DLL   解决方案: Nancyfx框架Razor需要在web.config 中声明要引入的命名空间(包括system这些)   &l ...

  5. NancyFx中使用自带的IOC容器

    /// <summary> /// Cors扩展 /// </summary> public static class IPipelinesExtensions { /// & ...

  6. ReactiveX序列——RxSwift 浅析

      ReactiveX序列——RxSwift Swift是苹果公司新推出的一门现代化的编程语言,并且将其开源出来了,Swift具有很多的优点,这也使得这门语言推出的短时间引起了很大反应的原因,在最近的 ...

  7. RxJava2出现:Unable to create call adapter for io.reactivex.Flowable

    前面一直使用的是Rxjava 1.x 版本,最近 Rxjava 2.x 版本发布了,并且支持了背压,便换成了 Rxjava 2.x 版本.更换之后出现了下面的错误. Caused by: java.l ...

  8. NancyFx 2.0的开源框架的使用-Basic

    这是NancyFx开源框架中的Basic认证,学习一下! 首先当然是新建一个空的Web,BasicDemo 继续在项目中添加Nuget包,记得安装的Nuget包是最新的预发行版 Nancy Nancy ...

  9. NancyFx 2.0的开源框架的使用-CustomModule(自定义模块)

    NancyFx框架的自定义模块 新建一个空的Web项目 然后通过NuGet库安装下面的包 Nancy Nancy.Hosting.Aspnet 然后添加Models,Module,Views三个文件夹 ...

随机推荐

  1. react native开源库管理

    安装: 1,正确的安装方式是 npm install xxx --save,经常看到许多组件安装文档上后面没有 --save,如果没有建议加上 否则组件信息不会出现在package.json中,导入组 ...

  2. (转)虚拟文件系统(VFS)浅析

    http://www.cnblogs.com/zsw-1993/p/5048144.html 在我看来, "虚拟"二字主要有两层含义: 1, 在同一个目录结构中, 可以挂载着若干种 ...

  3. 硬币游戏1——打表&&记忆化搜索

    题目 Alice和Bo在玩这样一个游戏,给定 $k$ 个数字 $a_1, a_2,..,a_k$.一开始有 $x$ 枚硬币,Alice和Bob轮流取硬币.每次所取的硬币的枚数一定要在 $k$ 个数当中 ...

  4. 运行银联支付系统demo

    1.Demo下载 下载地址:https://open.unionpay.com/tjweb/acproduct/list?apiservId=448 2.导入项目 注意:非maven项目,在导入ide ...

  5. [iOS] 利用 NSAttributedString 进行富文本处理

    /iOS /[iOS] 利用 NSAttributedString 进行富文本处理 2016年4月4日 刘小龙 iOS 许多时候我们需要以各种灵活的形式展现文本信息,即富文本.普通的 text 属性显 ...

  6. haproxy 2.0 dataplaneapi docker 镜像

    为了方便测试dataplaneapi 基于官方的docker镜像,制作了一个简单的包含dataplaneapi 的镜像 下载dataplaneapi https://github.com/haprox ...

  7. 【POJ2676】Sudoku

    本题传送门 本题知识点:深度优先搜索 + 回溯 问题就是要让我们解决一个数独问题.如果你懂得怎么玩数独的话,那就很自然想到用暴力搜索去做题.(比如我就不会,所以先WA了一发quq) 数独符合三个条件 ...

  8. Appium入门脚本

    没有用框架的代码实现登录功能: import time from selenium import webdriver # 创建字典 desired_caps = {} desired_caps['pl ...

  9. Java NIO 文件通道使用

    读取一个文件的内容,然后写入另外一个文件 public class NioTest4 { public static void main(String[] args) throws Exception ...

  10. [python]pypy优化python性能

    下载地址:https://pypy.org/download.html # python2.7版本 yum install pypy # python3.6版本https://bitbucket.or ...