使用Nancy和Simple.Data两个轻量级的框架打造一个分布式开发系统

   可能有的人看到这个标题觉得是噱头,那是因为你还不了解Nancy是干嘛的。如果一个国外的人说,大部分微软平台的开发人员如果选择开发框架只能是在ASP.NET和ASP.NET MVC两个之间选择。 而Nancy是不依赖于这两个框架的独立的一个框架。它更多的是借鉴了Ruby的一些特性。

image

先看个例子说明如何使用NancyFX:

创建一个ASP.NET(MVC)的空解决方案。如果是ASP.NET MVC类别的空解决方案,记得在Global.asax文件中把路由注释掉,Nancy有自己的一套路由机制。

使用Nancy,它在配置文件中添加了自己的HttpHandler。

image

接下来我们看如何通过不同的URL请求通过Nancy返回不同的结果。

1.没有任何参数URL的情况下:

首先创建一个DefaultModule.cs继承NancyModule这个基类。

image

编译后运行,结果如下:

image

下面来看看一些复杂的URL请求情况下,如何获取到这些参数:

设定我们的请求为url+/Fristname/lastname,那么定义一个Nancy Module来解析这个url并返回信息:

创建一个名为WelcomeModule.cs的类:

image

通过URL+/firstname/lastname请求,结果如下:

image

当然这只是简单的返回一些字符,而且URL都是比较简单的。除了这些简单的URL格式,Nancy也支持正则表达式的URL请求。

除了这些,Nancy还能够支持Razor视图引擎。它是在Razor的基础上扩展了View的渲染方式。

类似于ASP.NET MVC,不过这里是通过Module来渲染View。现在我们定义一个Model是Person,有FirstName和LastName两个属性,如何通过Nancy来把这个Model绑定到页面呢?

首先需要定义一个Model:

image

定义一个PersonModule,继承NancyModule;

image

定义的页面是Person.cshtml,所以我们添加一个Razor页面,并动态绑定person到页面中:

image

以上介绍的请求都是Get,Nancy也是支持Post等其他的HTTP请求,如果遇到大数据的返回等其他情况还是需要用Post请求的。

除了Nancy,就是Simple.Data了,我之前有介绍过这个轻量级的ORM工具(其实都算不上ORM 微笑)。

我最喜欢的ORM工具—Simple Data

这两个轻量级的框架有一个共同的特点,就是让一些基本的处理都能够独立开来。所以很适合打造分布式开发的。 比如Nancy可以让我们的路由不再去不停地配置,或者是统一的配置,而是每个模块都可以单独去写自己的路由。

Simple.Data由于似乎是用Dynamic特性,所以每个模块的数据库交互都可以很独立。

以上是介绍了我需要用到的框架,接下来第二篇文章,我们将来说明整个分布开发的基础模块如何建立。

当前标签: Autofac

 
基于NHibernate的UnitOfWork+Repository模式(AutoFac)–Part2 Nic Pei 2011-01-16 19:07 阅读:2638 评论:3  
 
Asp.net mvc 集成Autofac和FluentValidation Nic Pei 2010-12-20 19:32 阅读:2316 评论:2  
 
 

当前标签: ORM

 
各种ORM框架一站式代码下载 Nic Pei 2011-09-06 10:16 阅读:4503 评论:29  
 
我最喜欢的ORM工具—Simple Data Nic Pei 2011-08-24 18:16 阅读:5131 评论:46  

当前标签: NHibernate

 
基于NHibernate的UnitOfWork+Repository模式(AutoFac)–Part2 Nic Pei 2011-01-16 19:07 阅读:2638 评论:3  
 
基于NHibernate的UnitOfWork+Repository模式(AutoFac)–Part1 Nic Pei 2011-01-11 23:55 阅读:2898 评论:4  
 
DevText设计思考(求NHibernate Asp.net mvc牛人) Nic Pei 2010-11-18 16:15 阅读:2295 评论:25  

当前标签: Asp.net

 
微软build大会.net平台大事汇总 Nic Pei 2011-09-15 12:22 阅读:2650 评论:3  
 
介绍下Nuget在传统Asp.net项目中的使用 Nic Pei 2011-05-02 18:45 阅读:2347 评论:15  
 
Asp.net团队疯了(同时发布WebMatrix, Razor, MVC3和Orchard) Nic Pei 2011-01-14 01:55 阅读:8970 评论:29  
 

当前标签: Entity Framework

 
Entity Framework 4.3 新特性介绍 Nic Pei 2012-01-14 23:20 阅读:1231 评论:9  
 
Entity Framework 中如何更新表中的某个字段 Nic Pei 2010-10-29 21:51 阅读:2144 评论:9  
 
给大家分享一个Entity Framework 4的POCO模板 Nic Pei 2010-10-20 23:13 阅读:2980 评论:22  
 
Entity Framework 4中的Code-First, Model-First和Database-First模式 Nic Pei 2010-08-12 01:28 阅读:3323 评论:16  

当前标签: Asp.net MVC

 
Visual Studio 11安装ASP.NET MVC4体验 Nic Pei 2011-09-27 23:15 阅读:5262 评论:14  
 
微软build大会.net平台大事汇总 Nic Pei 2011-09-15 12:22 阅读:2650 评论:3  
 
介绍下Orchard CMS惊艳的缓存机制 Nic Pei 2011-05-01 15:38 阅读:3845 评论:7  
 
MvcScaffold快速开发实例 Nic Pei 2011-04-17 19:21 阅读:1938 评论:10  
 
asp.net mvc中很酷的jquery验证插件 Nic Pei 2011-04-11 00:09 阅读:3612 评论:13  
 
Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(二) Nic Pei 2011-03-31 16:27 阅读:2940 评论:11  
 
Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一) Nic Pei 2011-03-24 17:02 阅读:4761 评论:38  
 
ASP.NET MVC 3.0学习系列文章—NuGet and ASP.NET MVC 3.0 Nic Pei 2011-02-26 22:43 阅读:2903 评论:4  
 
ASP.NET MVC 3.0学习系列文章--Dependency Resolution in ASP.NET MVC 3.0 Nic Pei 2011-02-15 17:52 阅读:7181 评论:10  
 
ASP.NET MVC 3.0学习系列文章—Model in ASP.NET MVC 3.0 Nic Pei 2011-01-26 00:13 阅读:7860 评论:13  
 
ASP.NET MVC 3.0学习系列文章—Controllers in ASP.NET MVC 3.0 Nic Pei 2011-01-24 22:44 阅读:7067 评论:10  
 
ASP.NET MVC 3.0学习系列文章--Razor and ASP.NET MVC 3.0 Nic Pei 2011-01-23 23:01 阅读:12947 评论:19  
 
ASP.NET MVC 3.0学习系列文章--序 Nic Pei 2011-01-20 00:12 阅读:21884 评论:18  
 
基于NHibernate的UnitOfWork+Repository模式(AutoFac)–Part2 Nic Pei 2011-01-16 19:07 阅读:2638 评论:3  
 
Razor试图引擎 语法学习(二) Nic Pei 2011-01-15 14:21 阅读:4097 评论:6  
 
Razor试图引擎 语法学习(一) Nic Pei 2011-01-13 00:14 阅读:5921 评论:16  
 
基于NHibernate的UnitOfWork+Repository模式(AutoFac)–Part1 Nic Pei 2011-01-11 23:55 阅读:2898 评论:4  
 
DevText设计思考(求NHibernate Asp.net mvc牛人) Nic Pei 2010-11-18 16:15 阅读:2295 评论:25  
 
介绍下Nupack如何在asp.net mvc 2中使用 Nic Pei 2010-11-01 22:49 阅读:1824 评论:9  
 
探索Asp.net mvc 的文件上传(由浅入深) Nic Pei 2010-10-15 23:06 阅读:3504 评论:19  
 
Asp.net mvc 3 beta 新特性介绍 Nic Pei 2010-10-11 17:31 阅读:3255 评论:31  
 
 
 


原文地址:https://www.cnblogs.com/Leo_wl/p/2323280.html