vb實(shí)現(xiàn)三層結(jié)構(gòu)及Wcf的入門實(shí)例net_第1頁
vb實(shí)現(xiàn)三層結(jié)構(gòu)及Wcf的入門實(shí)例net_第2頁
vb實(shí)現(xiàn)三層結(jié)構(gòu)及Wcf的入門實(shí)例net_第3頁
vb實(shí)現(xiàn)三層結(jié)構(gòu)及Wcf的入門實(shí)例net_第4頁
vb實(shí)現(xiàn)三層結(jié)構(gòu)及Wcf的入門實(shí)例net_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、網(wǎng)上用來寫三層結(jié)構(gòu)和Wcf的實(shí)例不多, 本人最近因?yàn)楣ぷ餍枰?,?jiǎn)單學(xué)習(xí)了三層結(jié)構(gòu)和Wcf服務(wù),這里用 (vs 2010)作一個(gè)簡(jiǎn)單實(shí)例,希望能幫助一些需要的人快速入門。網(wǎng)上關(guān)于三層結(jié)構(gòu)和Wcf的解釋都太專業(yè)和高大上,這往往會(huì)初學(xué)者帶來困難。這里用一些個(gè)人的理解作一些粗淺說明,各位配合下面的例子寫出自己的代碼后,再返回去看他們的專業(yè)定義,也許會(huì)更容易理解些。所謂三層結(jié)構(gòu),按我的理解,就是把一個(gè)軟件的開發(fā),分成三塊,一塊專門作界面,一塊專門作業(yè)務(wù)流程,一塊專門作數(shù)據(jù)操作。這在團(tuán)隊(duì)開發(fā)中非常有用,可以分工合作,一人作一部分,將來出錯(cuò)也好查錯(cuò),維護(hù)起來也方便,特別是系統(tǒng)龐大了以后,作用更明顯。當(dāng)然,如

2、果是個(gè)人作個(gè)小軟件,個(gè)人覺得什么界面、業(yè)務(wù)、數(shù)據(jù)還是放在一起吧,分層浪費(fèi)的時(shí)間更多。所謂的Wcf,我的簡(jiǎn)單理解就是為了實(shí)現(xiàn)三層結(jié)構(gòu)中的數(shù)據(jù)層。就是作一個(gè)數(shù)據(jù)操作的DLL,然后在網(wǎng)上發(fā)布這個(gè)DLL,別人調(diào)用這個(gè)DLL中的函數(shù)來實(shí)現(xiàn)功能,而不用管DLL是怎么寫的。那為什么不直接在自己的代碼中寫呢,而是要發(fā)布Dll到網(wǎng)上呢?答案是為了數(shù)據(jù)安全。比如你要調(diào)用sql server中的數(shù)據(jù)庫(kù),客戶端中如果使用了連接的用戶名和密碼,別人可以簡(jiǎn)簡(jiǎn)單單掛個(gè)小程序就把你的用戶名、密碼就截獲了;而使用了wcf,數(shù)據(jù)庫(kù)連接語句都是在服務(wù)器上進(jìn)行,客戶端只獲得了返回的結(jié)果,顯然就安全多了(平時(shí)我們?yōu)g覽網(wǎng)頁也是這種模式)

3、,還有一個(gè)好處就是如果這個(gè)數(shù)據(jù)的邏輯發(fā)生變化,更新服務(wù)器的DLL文件就好,不需要再更新客戶端了,比如某個(gè)算法,由原來的X*0.2調(diào)整為X*0.3,這個(gè)時(shí)候你也要客戶端和你一起更新?這顯然不經(jīng)濟(jì)。當(dāng)然如果你是作單機(jī)版的軟件,在本機(jī)上運(yùn)行的,就沒有必要學(xué)wcf了。下面會(huì)講到Wcf的建立和在IIS 5.1上的發(fā)布,大家慢慢往下看。以下的圖例就不再作詳細(xì)的文字描述了。1、 打開vs 2010,新建一個(gè)解決方案,名字為test,存在e:mytest下二、左上角菜單->文件->添加->新建項(xiàng)目->windows->windows窗體應(yīng)用程序,名稱:界面層三、左上角菜單->

4、;文件->添加->新建項(xiàng)目->windows->類庫(kù),名稱:業(yè)務(wù)層四、左上角菜單->文件->添加->新建項(xiàng)目->Wcf->Wcf服務(wù)庫(kù),名稱:數(shù)據(jù)層。5、 點(diǎn)擊數(shù)據(jù)層。點(diǎn)擊項(xiàng)目菜單->數(shù)據(jù)層屬性->將根命名空間改為dal,原因是wcf發(fā)布到iis以后,不認(rèn)中文。6、 改名,將界面層的form1.vb改為Ui.vb,業(yè)務(wù)層的class1.vb改名為Bll.vb,數(shù)據(jù)層的IService1.vb改為I_dal.vb,Service1.vb改為Dal.vb,三層結(jié)構(gòu)基本建立完成。為了實(shí)現(xiàn)三層結(jié)構(gòu),我們按數(shù)據(jù)層->業(yè)務(wù)層->

5、界面層的順序往里面寫代碼。其中的數(shù)據(jù)層用到了wcf,篇幅比較大,仔細(xì)看好。七、設(shè)置IIS,用于發(fā)布Wcf(1) 打開IIS,選擇【默認(rèn)網(wǎng)站】-屬性】-【主目錄】-【配置】,看有沒有.svc選項(xiàng),沒有得重裝.net framework (2)安裝ServiceModell 進(jìn)入C:WINDOWSMicrosoft.NETFrameworkv3.0Windows Communication Foundationl ServiceModelReg.exe -r (3)ASPNET賬戶權(quán)限分配l aspnet_regiis.exe ga ASPNET(注意:1、上述命令都是在CMD下執(zhí)行的;2、上述目

6、錄路徑因系統(tǒng)安裝的.net而定,如果沒有對(duì)應(yīng)的目錄,可以直接搜索C:WINDOWSMicrosoft.NETFramework目錄,找到ServiceModelReg.exe和aspnet_regiis.exe)八、開始制作第一個(gè)wcf服務(wù)。打開數(shù)據(jù)層的I_dal.vb,先作好接口,見圖。前綴<ServiceContract()>說明是接口,<DataContract()>說明是數(shù)據(jù)協(xié)定,簡(jiǎn)單理解就是自定義類型,用來做傳輸?shù)膮?shù)。九、打開數(shù)據(jù)支的Dal.vb。實(shí)現(xiàn)上述接口,語句比較簡(jiǎn)單,不明白的把代碼寫進(jìn)去慢慢看就懂了。 Implements 來實(shí)現(xiàn)接口,然后在時(shí)面寫上

7、處理的語句,這里面是一個(gè)用戶與口令的判斷。十、右鍵點(diǎn)擊數(shù)據(jù)層,點(diǎn)生成。再點(diǎn)發(fā)布,這里發(fā)布到e:abc目錄十一、 打開IIS,選擇【默認(rèn)網(wǎng)站】->新建->虛擬目錄->輸入 Wcf ->選擇 e:abc十二、在ie瀏覽器中輸入/wcf/Dal.Dal.svc,出現(xiàn)以下的提示,說明wcf服務(wù)已經(jīng)發(fā)布成功。13、 點(diǎn)擊業(yè)務(wù)層,打開菜單項(xiàng)目->添加引用_>項(xiàng)目->數(shù)據(jù)層,這里主要是要用到自定義類型(數(shù)據(jù)協(xié)定)14、 點(diǎn)擊業(yè)務(wù)層,打開菜單項(xiàng)目->添加服務(wù)引用-> 地址輸入/wcf/Dal.Da

8、l.svc,命名空間為:wcf十五、點(diǎn)擊界面層,打開菜單項(xiàng)目->添加服務(wù)引用-> 地址輸入/wcf/Dal.Dal.svc,命名空間為:wcf,這里的步驟和業(yè)務(wù)層的引用步驟是一致的。為什么要進(jìn)行這一步?因?yàn)楹芷婀值模缑鎸右昧藰I(yè)務(wù)層的功能,但卻不引用它的wcf配置?;蛟S新的vs版本會(huì)解決這個(gè)問題?圖略。15、 打開業(yè)務(wù)層的Bll.vb,輸入一個(gè)函數(shù)據(jù)F_身份驗(yàn)證,看圖,引用了剛才的Wcf服務(wù)。十六、打開業(yè)務(wù)層的Bll.vb,輸入以下代碼。十七、打開界面層的ui.vb,放入一個(gè)button,兩個(gè)文本框txt_姓名,txt_口令。十八、點(diǎn)擊界面層,打開項(xiàng)目菜單->添加引用->項(xiàng)目->數(shù)據(jù)層、業(yè)務(wù)層十八、Ui.vb中輸入代碼19、 右鍵點(diǎn)擊界面層->設(shè)置為啟動(dòng)項(xiàng)目。二十、運(yùn)行,輸入用戶名:王小二,密碼:123,得出結(jié)果。二十一、小結(jié)。三層結(jié)構(gòu)我個(gè)人的理解,應(yīng)該是為了分工,界面歸界面,業(yè)務(wù)實(shí)現(xiàn)歸業(yè)務(wù)實(shí)現(xiàn),數(shù)據(jù)歸數(shù)據(jù)。作一個(gè)大的系統(tǒng)時(shí),光靠一個(gè)人是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論