设为首页 收藏本站
查看: 1434|回复: 0

[经验分享] Asp.net Mvc+MongoDB+Autofac等打造轻量级blog系统(一)

[复制链接]
发表于 2015-7-5 13:34:07 | 显示全部楼层 |阅读模式
  这两天坐地铁上在想着是否可以做一个很轻量级的.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.iyunv.com/n-pei/tag/Asp.net%20MVC/
  包括asp.net mvc 3的系列文章。。。。 DSC0000.png
  
  环境的要求:
  1.首先你需要的是.net framework 4的安装。你机器不需要安装asp.net mvc,只需要把对应的几个dll添加到bin目录下就行。
  
  2.MongoDB的安装 如果你以前接触过MongoDB,请跳过这一段,直接看第三步。
   DSC0001.png
  
  http://www.mongodb.org/ 它的数据是以json格式存储的。
  下载到对应的压缩包,然后解压到某个盘下。
   DSC0002.png
  默认的mongo是不会自己创建文件夹,而它却需要找到指定的文件夹Data\db,所以我们需要在bin目录所在的根文件夹下创建如下文件夹:
   DSC0003.png
  
  接下来就是运行db server了。
   DSC0004.png
  
  现在数据库服务器就开始运行了,因为它是在dos下运行的,所以不能关闭这个窗口,以后说明下如何把它制定为windows service,这样就需要开着窗口了。
  
  3.ORM: Simple.Data这个是使用C# Dynamic属性的轻量级ORM工具,它不是很好用,但是速度是挺快的,而且不需要配置文件,支持各种数据库。。。
  你可以到这里下载:http://github.com/markrendle/Simple.Data
   DSC0005.png
  
  4. IoC工具,这个Autofac我之前有好多文章都介绍了。你可以到这里下载和查看:http://code.google.com/p/autofac/
  我博客中相关的文章: http://www.iyunv.com/n-pei/tag/Autofac/
  
  
  可能你已经不耐烦了,,我啰嗦这么多,,好吧,接下来开始使用MogonDB,这篇文章主要介绍如何在asp.net mvc中使用它。。。。其它模块在以后的文章中介绍。
  
  首先是创建实体,这里只创建好Post和comment两个实体。
   DSC0006.png
  接下来是创建Repository模块:
  Post的Repository接口:
   DSC0007.png
  对应的Save方法:
   DSC0008.png
  这里的操作都是比较繁琐的,以后会结合autofac优化这一部分。
  GetAll方法和通过Id得到某个post实体的方法如下:
   DSC0009.png
  
  
  
  
  还有一部分是update某个post.这部分代码就不贴了。
  
  接下来是Controller部分的代码:
  Create post部分的代码:
   DSC00010.png
  添加对应的View以后,运行:
   DSC00011.png
  点击Craete按钮后:
   DSC00012.png
  保存成功,然后会自动跳转到List页面:
   DSC00013.png
  
  稍候等整个项目写的差不多了,我会把代码放到codeplex上,支持下微软,呵呵。
  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-83384-1-1.html 上篇帖子: 基于Mongodb进行分布式数据存储 下篇帖子: MongoDB学习笔记(查询)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表