Asp.net Mvc+MongoDB+Autofac等打造輕量級blog系統(一)

來源:互聯網
上載者:User

這兩天坐地鐵上在想著是否可以做一個很輕量級的.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,請跳過這一段,直接看第三步。

 

http://www.mongodb.org/ 它的資料是以json格式儲存的。

下載到對應的壓縮包,然後解壓到某個盤下。

預設的mongo是不會自己建立檔案夾,而它卻需要找到指定的檔案夾Data\db,所以我們需要在bin目錄所在的根資料夾下建立如下檔案夾:

 

接下來就是運行db server了。

 

現在資料庫伺服器就開始運行了,因為它是在dos下啟動並執行,所以不能關閉這個視窗,以後說明下如何把它制定為windows service,這樣就需要開著視窗了。

 

3.ORM: Simple.Data這個是使用C# Dynamic屬性的輕量級ORM工具,它不是很好用,但是速度是挺快的,而且不需要設定檔,支援各種資料庫。。。

你可以到這裡下載:http://github.com/markrendle/Simple.Data

 

4. IoC工具,這個Autofac我之前有好多文章都介紹了。你可以到這裡下載和查看:http://code.google.com/p/autofac/

我部落格中相關的文章: http://www.cnblogs.com/n-pei/tag/Autofac/

 

 

可能你已經不耐煩了,,我囉嗦這麼多,,好吧,接下來開始使用MogonDB,這篇文章主要介紹如何在asp.net mvc中使用它。。。。其它模組在以後的文章中介紹。

 

首先是建立實體,這裡只建立好Post和comment兩個實體。

接下來是建立Repository模組:

Post的Repository介面:

對應的Save方法:

這裡的操作都是比較繁瑣的,以後會結合autofac最佳化這一部分。

GetAll方法和通過Id得到某個post實體的方法如下:

 

 

 

 

還有一部分是update某個post.這部分代碼就不貼了。

 

接下來是Controller部分的代碼:

Create post部分的代碼:

添加對應的View以後,運行:

點擊Craete按鈕後:

儲存成功,然後會自動跳轉到List頁面:

 

稍候等整個項目寫的差不多了,我會把代碼放到codeplex上,支援下微軟,呵呵。

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.