NancyFx And ReactiveX

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中导航到菜单 工具 > 扩展和更新

 NancyFx And ReactiveX

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

NancyFx And ReactiveX

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

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

NancyFx And ReactiveX

 

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

NancyFx And ReactiveX

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

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

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

NancyFx And ReactiveX

使用模板

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

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

NancyFx And ReactiveX

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

 

Nancy启用跨站攻击防护(CSRF) 理论家 2017-05-21 20:37 阅读:193 评论:0   NancyFX 附录: Nuget程序包 理论家 2017-03-04 17:27 阅读:434 评论:0   NancyFX 第十三章 测试 理论家 2017-03-04 17:26 阅读:334 评论:1   NancyFX 第十二章 通道截拦 理论家 2017-03-04 15:34 阅读:451 评论:0   NancyFX 第十一章 Bootstrapping 理论家 2017-02-19 14:58 阅读:553 评论:1   NancyFX 第十章 身份验证 理论家 2017-02-19 14:57 阅读:476 评论:0   NancyFX 第八章 内容协商 理论家 2017-02-12 10:56 阅读:656 评论:0   NancyFX 第七章 模型绑定和验证 理论家 2017-02-04 15:32 阅读:912 评论:0   NancyFX 第五章 Nancy 路由 理论家 2017-01-29 10:43 阅读:1808 评论:0   NancyFX 第四章 Nancy快速上手 (使用Nancy模板) 理论家 2017-01-21 17:25 阅读:1101 评论:1   NancyFX 第三章 Web框架 理论家 2017-01-21 11:31 阅读:1573 评论:0   NancyFX 第二章 Rest框架 理论家 2016-12-20 17:09 阅读:1172 评论:0   NancyFX 第一章 NancyFX 简介 理论家 2016-12-20 15:49 阅读:2601 评论:1      

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

上一篇:使用ReactiveX for Java进行Http调用


下一篇:ROS中Callbacks和Spinning的那些事儿:ros::spin ros::spinOnce ros::MultiThreadedSpinner ros::AsyncSpinner