Nancy框架.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Nancy框架

 ASP.NET MVC Title: Nancy框架 Date: 2014-09-12 23:39 Category: .Net Tags: Nancy, C#, .Net, web Author: 刘理想 [TOC] Nancy框架 一、创建第一个Nancy应用 1. 安装Nancy项目模板 2. 创建 Nancy Empty Web Application with ASP.NET Hosting 3. 添加 Nancy module ,它是一个标准C#类 ,通过添加下面几行代码定义了web应用的路由处理方法。 4. 编译并运行。 public class HelloModule : NancyModule { public HelloModule() { Get[/] = parameters = Hello World; } } 二、探索Nancy的module Module继承自NancyModule 类。Module是必不可少的.它不仅定义了路由 ,还提供了许多其他信息 ,比如请 求、上下文、构造响应的辅助方法、视图渲染等等。 1. 模块能够在全局被发现 可以在任意地方定义module ,比如外部的dll等 ,这为代码的复用带来很大的方便。不用担心效率问题 ,扫描 module只在程序启动时发生。 2. 使用模块为路由创建一个根 类似命名空间的概念 ,在创建构造方法时传给base一个名称。 public class ResourceModule : NancyModule { public ResourceModule() : base(/products) { // would capture routes to /products/list sent as a GET request Get[/list] = parameters = { return The list of products; }; } } 三、定义路由 路由是在module的构造方法中定义的。为了定义一个路由 ,你需要声明 方法 + 模式+ 动作 +(可选) 条件 比如 : public class ProductsModule : NancyModule { public ProductsModule() { Get[/products/{id}] = _ = { //do something }; } } 或者异步 public class ProductsModule : NancyModule { public ProductsModule() { Get[/products/{id}, runAsync: true] = async (_, token) = { //do something long and tedious }; } } 1. 方法 支持HTTP常见方法 :DELETE , GET , HEAD , OPTIONS , POST , PUT , PATCH 2. 模式 模式能够自定义 ,Nancy提供了一些常用的 : 1. 字面量 - /some/literal/segments 2. 捕获片段 - /{name} ,获取URL的片段 ,并传给路由的Action 3. 捕获可选片段 - /{name?} ,添加了一个问号 ,片段就是可选的了 4. 捕获可选/默认片段 - /{name?default} 5. 正则片段 - /(?age[\d]{1,2}) ,使用命名捕获组来捕获片段 ,如果不需要捕获 ,使用非捕获组 ,比 如 (?:regex-goes-here) 6. 贪心片段 - /{name*} ,从/处开始捕获 7. 贪心正则捕获 - ^(?name[a-z]{3, 10}(?:/{1})(?action[a-z]{5, 10}))$ 8.

文档评论(0)

xyz118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档