詳細(xì)介紹ASP.NETWeb相關(guān)服務(wù)
經(jīng)過長時間學(xué)習(xí)ASP.NETWeb,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。學(xué)習(xí)ASP.NETWeb時,你可能會遇到相關(guān)問題,這里將介紹ASP.NETWeb問題的解決方法。
該結(jié)構(gòu)分三個層次:表示層、業(yè)務(wù)層、數(shù)據(jù)層。數(shù)據(jù)層:代表物理數(shù)據(jù)庫。業(yè)務(wù)層:負(fù)責(zé)數(shù)據(jù)層與表示層之間的數(shù)據(jù)傳輸。表示層:應(yīng)用程序的客戶端,它通過業(yè)務(wù)層來訪問數(shù)據(jù)庫。
表示層所操作的是駐留在內(nèi)存中的本地數(shù)據(jù),當(dāng)需要更新數(shù)據(jù)庫數(shù)據(jù)時,要通過業(yè)務(wù)層提供的更新方法實現(xiàn)。這樣可以大大提高應(yīng)用程序的性能,而且,什么時候更新數(shù)據(jù)完全由你決定,提高了編程的靈活性。
實例:
這里我們具體做一個實例來看看如何用VB.NET創(chuàng)建三層結(jié)構(gòu)的應(yīng)用程序。
數(shù)據(jù)庫:我們選擇SQLSERVER的NorthWind數(shù)據(jù)庫。業(yè)務(wù)層:我們創(chuàng)建一個WebService作為中間層。(需要安裝IIS服務(wù))表示層:ASP.NETWeb我們寫一個WindowsForm***步:創(chuàng)建WebService。
具體步驟如下:
1.新建一個項目,選擇ASP.NETWeb服務(wù),命名為:”WebServiceFor業(yè)務(wù)層”。#t#
2.添加兩個SqlDataAdapter,一個為Customer_da,它指向NorthWind數(shù)據(jù)庫的Customers表,ASP.NETWeb另一個為Order_da,指向Northwind數(shù)據(jù)庫的Orders表。
3.然后生成一個TypedDataSet(選擇“數(shù)據(jù)”菜單的“生成數(shù)據(jù)集”),命名為:Super_ds.
4.數(shù)據(jù)庫連接已經(jīng)完成,下一步我們將考慮它與表示層之間的通信,這里我們定義兩個方法。一個為:Get_DataSet,它返回一個Super_ds類型的數(shù)據(jù)集,另一個為:Update_DataSet,它負(fù)責(zé)更新數(shù)據(jù)庫數(shù)據(jù),方法代碼如下:
- ImportsSystem.Web.Services
- PublicClassService1
- InheritsSystem.Web.Services.WebService
- ‘WebServicesDesignerGeneratedCode…….
- <WebMethod()>PublicFunctionGet_Dataset()Assuper_ds
- customer_da.Fill(Super_ds1.Customers)
- order_da.Fill(Super_ds1.Orders)
- ReturnSuper_ds1
- EndFunction
- <WebMethod()>PublicSubUpdate_Dataset()
- Super_ds1.AcceptChanges()
- EndSub
- WEBSERVICEEXAMPLE
- TheHelloWorld()exampleservicereturnsthestringHelloWorld.
- Tobuild,uncommentthefollowinglinesthensaveandbuildtheproject.
- Totestthiswebservice,ensurethatthe.asmxfileisthestartpage
- andpressF5.
- <WebMethod()>PublicFunctionHelloWorld()AsString
- elloWorld="HelloWorld"
- EndFunction
- EndClass