Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)

这两天坐地铁上在想着是否可以做一个很轻量级的.net博客发布系统。。。所有东西都用轻量级的,我想要系统是基于Asp.net Mvc框架的,所以选定了如下几个大的组件来完成这个设想。

1. 整个应用程序架构:asp.net mvc 3 (Razor)

2.数据存储 : MongoDB,是个面向文档的数据库,它是多系统支持,轻量级,高性能的。

3.ORM : 现在的应用开发如果你不用ORM,那就好像有点老土了,但是ORM永远都无法和ado.net媲美,无乱是EF,NHibernate还是linq等等。。。。而我这里还是想使用一个ORM工具,于是选择了Simple.Data这个非常轻量级的ORM工具,它使用了C# 中的Dynamic特性。

4.IoC工具,绝对是autofac这个最轻量级了。。。

 

对于asp.net mvc你可以到这里看到很多学习资料:http://www.cnblogs.com/n-pei/tag/Asp.net%20MVC/

包括asp.net mvc 3的系列文章。。。。微笑

 

环境的要求:

1.首先你需要的是.net framework 4的安装。你机器不需要安装asp.net mvc,只需要把对应的几个dll添加到bin目录下就行。

 

2.MongoDB的安装 如果你以前接触过MongoDB,请跳过这一段,直接看第三步。

Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)_第1张图片

 

http://www.mongodb.org/ 它的数据是以json格式存储的。

下载到对应的压缩包,然后解压到某个盘下。

Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)_第2张图片

默认的mongo是不会自己创建文件夹,而它却需要找到指定的文件夹Data\db,所以我们需要在bin目录所在的根文件夹下创建如下文件夹:

image

 

接下来就是运行db server了。

Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)_第3张图片

 

现在数据库服务器就开始运行了,因为它是在dos下运行的,所以不能关闭这个窗口,以后说明下如何把它制定为windows service,这样就需要开着窗口了。

 

3.ORM: Simple.Data这个是使用C# Dynamic属性的轻量级ORM工具,它不是很好用,但是速度是挺快的,而且不需要配置文件,支持各种数据库。。。

你可以到这里下载:http://github.com/markrendle/Simple.Data

Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)_第4张图片

 

4. IoC工具,这个Autofac我之前有好多文章都介绍了。你可以到这里下载和查看:http://code.google.com/p/autofac/

我博客中相关的文章: http://www.cnblogs.com/n-pei/tag/Autofac/

 

 

可能你已经不耐烦了,,我啰嗦这么多,,好吧,接下来开始使用MogonDB,这篇文章主要介绍如何在asp.net mvc中使用它。。。。其它模块在以后的文章中介绍。

 

首先是创建实体,这里只创建好Post和comment两个实体。

Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)_第5张图片

接下来是创建Repository模块:

Post的Repository接口:

Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)_第6张图片

对应的Save方法:

Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)_第7张图片

这里的操作都是比较繁琐的,以后会结合autofac优化这一部分。

GetAll方法和通过Id得到某个post实体的方法如下:

Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)_第8张图片

 

 

 

 

还有一部分是update某个post.这部分代码就不贴了。

 

接下来是Controller部分的代码:

Create post部分的代码:

Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)_第9张图片

添加对应的View以后,运行:

Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)_第10张图片

点击Craete按钮后:

Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)_第11张图片

保存成功,然后会自动跳转到List页面:

Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)_第12张图片

 

稍候等整个项目写的差不多了,我会把代码放到codeplex上,支持下微软,呵呵。

 

 

 

 

你可能感兴趣的:(asp.net)