原文: ASP.NET MVC+EF架構+EasyUI實作權限管理系列(10)- VSS源代碼管理
ASP.NET MVC+EF架構+EasyUI實作權限管系列
(開篇) (1):架構搭建 (2):資料庫通路層的設計Demo (3):面向接口程式設計 (4 ):業務邏輯層的封裝
(5):前台Jquery easyUI實作 (6):EF上下文執行個體管理 (7):DBSession的封裝 (8):DBSession線程内唯一
(9):TT摸版的學習
前言:上篇部落格我們對T4模版進行了簡單的說明,這篇部落格我們開始了解一下源代碼管理的東西,當然了這些知識點我都隻是簡單的提到,如果大家需要詳細學習的話可以在部落格園中找到很多你們需要的東西,下面我們就開始學習源代碼管理器吧,我在這裡要講的是VSS。
1. 為什麼需要源代碼
(1)首先大家可能會遇到這樣的問題,很長時間我們一直在做某個項目,但是做到最後的時候,這個項目出現了一點問題(解決不了),這時候我們就非常的希望項目能夠回歸到我們能運作的時候,還有就是我們做項目做了一段時間了,突然有一天我們想到前段時間我們寫的代碼有點問題,可以使用更加簡單的方式來實作,這時候我們就想如何能夠快速的回到我們想要修改或者重新能運作的地方,這就是源代碼管理器的作用。
(2)是以我們寫的源代碼必須要通過一個非常好的工具進行非常良好的管理,而且當我們代碼出現問題的時候還可以進行良好的復原,復原到某一天的某一個時間點,也就是說我們開發項目的所有的源代碼都要進行管理起來,不能說存在我們的電腦上面,那是不安全的,如果我們的系統硬碟出現問題,這可就是整個項目的損失。
2.源代碼管理器(VSS)介紹
(1) 那麼通過上面的描述我們就知道了我們要把我們的代碼進行源代碼管理,那麼怎麼進行源代碼管理呢,下面我畫一張圖來描述一下,如圖:

(2)根據上圖我相信大家能夠看到源代碼管理器的執行以及是如何來完成這些工作的,下面我再稍微的介紹點上圖中沒有寫到的東西。
(3)我們開發人員在源代碼管理器中要求的是會使用簽出檔案和簽入檔案,那麼什麼是簽出檔案呢?我要對這個檔案進行修改的時候要先去伺服器簽出,簽出完成之後就可以對這個檔案進行修改了,當我們修改完成簽出的檔案之後,而且生成成功了,在送出給伺服器,就是簽入,這就是簽出和簽入的差別。
(4)那麼下面我就以我們現在開發的權限系統如何使用源代碼管理器進行一番示範,詳情請繼續往下看
3.對源代碼管理軟體VSS的安裝
(1)上面介紹完畢之後,我們就想把我們的代碼進行源代碼管理,但是怎麼管理呢?當然我們首先想到的是我們需要一個環境,也就是VSS工具的安裝,首先我們打開Visual Studio,然後單擊工具->選項->源代碼管理,如圖所示:
(2)如上圖,我們就會看到源代碼管理裡面有一個目前源代碼管理插件的下拉框,如果大家沒有安裝VSS的話,因該就隻有一個Visual Studio Team Foundaton Server,如果大家安裝了VSS的話,顯示的效果應該和我的一摸一樣。
(3)如果大家沒有安裝VSS的話先去網上找一個VSS的軟體或者在下面給我留言,我将會發給大家,然後找到setup.exe檔案進行安裝,安裝步驟我再這裡不說了,傻瓜式安裝,當安裝完成之後我們關閉Visual Studio重新開機之後我們就可以在工具->選項->源代碼管理器裡面看到如上圖所示了。
(4)當我們安裝VSS之後,這時候我們在工具裡面的目前源代碼管理插件裡面一定要選擇Microsoft Visual SourceSafe選項,然後下面我們就開始一步一步的搭建這個源代碼管理了。
4. 如何添加項目中到源代碼伺服器(VSS)
(1)那麼我們如何将我目前的項目添加到源代碼管理伺服器中去呢?首先我們在解決方案上面用滑鼠右擊選擇将解決方案添加到源代碼管理(或者我們選擇檔案->選代碼管理->将解決方案添加到源代碼管理),打開如圖所示:
(2)上圖的意思是添加一個源代碼管理資料庫的向導,就相當于添加了一個資料庫,然後單擊下一步,如圖所示:
(3)上圖我們看到了有兩個選擇,一個是Connect to an existing database(連接配接一個以存在的資料庫)。另一個是Create a new database(建立一個新的資料庫),那麼他們有什麼差別嗎?下來我稍微的說一下:首先如果我們選擇Connect to an existing database單擊下一步我們就會到另一個頁面,在哪裡頁面裡面我們可以自己選擇自己機器上的某一個源代碼管理庫,如果是區域網路的話,我們的Loaction位址這樣寫就好了:\\192.168.1.250\kencery.ini檔案,或者我們可以直接單擊Brower選擇。但是我們因為是首次用VSS管理工具,是以我們選擇建立一個新的資料庫(Create a new database),然後單擊下一步如圖所示:
(4)上圖的意思是:讓我們将資料庫放到什麼位置,我們單擊Browse,然後我們選擇一個路徑(一般情況下我們放到C槽即可),然後我們單擊下一步,将會出現一個給資料庫重新起名的文本框,我們選擇預設即可,在單擊下一步如圖所示:
(5)上圖我們又看到了兩個選項,他們是兩個可以使用的模式,第一個模式的意思是鎖住-修改-解鎖的模式(也就是同一時間隻允許一個人進行修改),第二個模式的意思是拷貝-修改-合并的模式(同一時間允許多個人能夠對檔案進行修改),一般情況下我們預設選擇第一個即可,然後單擊下一步-最後單擊完成,當單擊完成的時候彈出了如圖所示的VSS登入界面:
(6)上圖中顯示了我們将源代碼管理的資料庫建立好了,密碼預設是沒有的,使用者名系統直接自動取出來了電腦的使用者名,然後我們單擊OK,出現下面頁面:
(7)然後我們再單擊OK按鈕,會提示一個資訊說我們沒有改目錄,是否建立此目錄,我們選擇Yes,這時候就把我們目前的解決方案送出到資料庫中去管理了。這樣我們就将我們的項目添加到源到管理器裡面去了。
(8)當我們把我們的項目添加到源代碼管理裡面去的時候我們的項目前面都顯示加了一個鎖,有小鎖的話就代表了我們目前項目被源代碼管理器管理。這時候你再剛才所選擇的檔案夾下面可以看到很多檔案。
5.使用源代碼伺服器對項目代碼進行修改
(1) 經過上面的總結之後,現在我們的源代碼已經被源代碼管理器管理起來了,那麼這時候我們建立一個控制器LoginController.cs,這時候我們控制器對應的前面沒有小鎖,但是有一個加号,這就表示這個項目是新加的,然後我們右鍵再LoginController控制器上面右鍵簽入到源代碼管理器之後,前面變成了小鎖,這時候我們修改LoginController.cs的代碼。
(2) 當我們給LoginController.cs項目裡面随便加個注釋的時候,控制器類對應的前面變成了小紅對号,滑鼠放上去的時候顯示已獨占的方式簽出給我,這就代碼我們的這個控制器類已經簽出,這時候别人就無法簽出這個檔案了,隻有當我修改完這個控制器類然後簽入到源代碼管理器中的時候别人才能夠在簽出。
(3)當我們修改完成之後,我們一定要生成一下項目,如果沒有任何問題的話,我們就可以将這個控制器類簽入了,在你想要簽入的控制器類上面右鍵選擇簽入,然後如下圖所示:
(4)如上圖,就是我簽入Login控制器的時候的内容,在這裡我們一般情況下都要寫上注釋内容,友善我們檢視到底幹了什麼,最後單擊簽入,完成之後對應的控制器前面又出現小鎖證明我們簽入成功了。簽出也有一樣,在這裡我就不說了。
(5)上面我對簽入和簽出進行了簡單的說明,其實也很簡單,沒什麼的,隻要我們了解簽入和簽出是什麼意思就行,簽出就相當于告訴源代碼伺服器我要以獨占的方式來修改這個檔案,簽入就相當于把你修改的東西重新送出會源代碼伺服器。
6.使用源代碼伺服器對項目代碼進行復原管理
(1)這時候我們在對Login控制器進行第二次的修改,并且重新在嵌入到源代碼伺服器裡面,寫上注釋。
(2)然後我們復原到第二次修改之前,那麼怎麼復原,同樣,我們選擇Login控制器右鍵選擇檢視曆史記錄,會彈出一個讓我們輸入從哪裡到哪裡的小窗體,預設不管,直接單擊OK即可,如圖所示:
(3)如上圖顯示了所有的修改記錄,首先1是剛開始我們建立的,2和3分别是我們進行修改後重寫簽入的内容,上面我們就可以想象的看到我們的簽入資訊,然後在右邊有一個Diff(比較),我們選擇第二個簽入的内容,然後選擇Diff,彈出的窗體預設,單擊OK,就能看到現在的代碼和第二次有什麼差別,如圖所示:
(4)那麼我們如何復原到第二個變化的項目呢,我們看到了(2)圖中有一個RollBack,但是如果我們復原回去的話我們就在復原不回來了,是以在操作的時候還是要格外的注意,單擊RollBack,會有提示資訊,不要管,直接單擊Yes,這時候我們的項目就復原到第一次的時候了。
7.小結
(1)通過上面的介紹,我們發現我們我們在部落格剛開始提出來的幾個問題都已經解決了吧,這就是源代碼管理的好處。
(2)下篇部落格我們就真是開始對權限的分析講解,明天我将着手開始寫使用者登入,希望大家能夠支援,你們的支援就是我的動力,謝謝大家,最後很晚了上張圖提提神,我們一定要向雄鷹一樣飛向遠方。
VSS軟體安裝包下載下傳位址:http://pan.baidu.com/share/link?shareid=382444&uk=856815276
Kencery傳回本系列開篇