999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于.NET的在線訂票Web Services應用的設計

2013-12-31 00:00:00陶華
電子世界 2013年24期

【摘要】本文將通過一個在線訂票服務來充分說明Web Services的設計實現過程,以及在Web應用程序中如何使用Web Services。以便大家能對Web Services的設計實現和使用過程有更深刻的理解。

【關鍵詞】Web服務;.NET框架;XML;SOAP;在線訂票

該Web Services是一個在線訂票服務,實現的功能主要包括:車次查找、車票預訂和查詢最新的消息。開發工具采用的是.NET平臺下的Visual Studio.NET,編程語言使用C#,后臺數據庫采用的是SQL Server 2003。

一、Web Services的總體設計

該在線訂票Web Services包括以下三個方法:

1)SearchTrain——根據參數查找車次,這些參數包括諸如出發日期、到達日期和出發地點等。

2)AddBooking——預訂所選車次的車票。

3)GetInformation——獲得最新的消息。

以上三個方法都需要與數據庫聯系,從數據庫表中提取相應的數據,以XML的格式、SOAP消息的方式返回給調用該服務的應用程序。

二、Web Services數據庫設計

該Web Services數據庫采用SQL Server 2003。數據庫名稱為TrainService,數據庫中包含有關車次信息、車票有效期、訂票信息等的詳細資料。

這個數據庫中使用三個存儲過程,分別是SearchTrain、AddBooking和GetInformation。

1)SearchTrain存儲過程實現的功能是查找與參數相匹配的車次。這些參數包括:出發地點、到達地點、出發日期、開車時間和旅行類型。該存儲過程的完整源代碼如下:

CREATE PROCEDURE dbo.Searchtrain

@sStartingForm varchar(50),

@sDestination varchar(50),

@sArrivalDate detetime,

@sDdepartureDate datetime,

@iTravelClassID int

AS

Begin

set nocount on

select T.*,TC.travel_class_id form

Trains T inner join travel_class_cpacity TCSC

on TCSC.Train_id=T.Train_id

inner join travel_class TC

on TC.travel_class_id=TCSC.travel_class_id

where T.staring_form=@sStartingForm

and T.destination=@sdestination

and T.arrival_date=@dArrivalDate

and T.departure_date=@dDepartureDate

and TC.travel_class_id=@iTravelClassID

and TCSC.number_seats>0

end

GO

2)Addbooking存儲過程在Bookings表中插入一條記錄,實現訂票功能。該存儲過程的完整源代碼如下:

CREATE PROCEDURE dbo.AddBooking

@iTrainID int,

@iPassengerID int,

@iTravelClassID int,

@iBookingID int output

AS

Begin

set nocount on

Insert into Bookings

(Train_id,passenger_id,travel_class_id)

values

(@iTrainIDm@ipassengerID,@iTravelclass ID)

Select @iBookingID=@identity

end

GO

3)GetInformation存儲過程實現功能是從數據庫中返回消息的詳細資料。參數InformationID決定存儲過程返回的消息的類型。該存儲過程的完整源代碼如下:

CREATE PROCEDURE GetInformationTypeID

@iInformationTypeID smallint

AS

begin

set nocount on

select convert(varchar(12),infor_date)

as infor_date,description

from Information where

Information_type_id=@iInformation TypeID

end

GO

三、Web Services的實現

為了實現該Web Services,開發工具采用.NET平臺下的Visual Studio.NET,編程語言使用C#。使用Visual Studio.NET開發工具生成各種配置文件相對比較容易,不用完全從頭到尾自己寫,只需在已經生成的文件上修改。同時,它還能自動引入默認的名稱空間,進行外部引用也容易,大大簡化了開發Web Services的過程,提高了開發效率。通過訪問創建的數據庫,該Web Services通過三個方法執行以下操作:

1)根據出發日期、到達日期和出發地點等參數查找車次。

2)預訂所選車次的車票。

3)獲取最新的旅行消息。

針對要創建的在線訂票Web服務Online-WebService,需要引入以下兩個命名空間:

using System.Date.SqlClient;

using System.Configuration;

System.Date.SqlClient名稱空間允許程序中訪問數據訪問類,以便能夠訪問創建的SQL Server數據庫TrainService。using System.Configuration名稱空間允許使用ConfigurationSettings類訪問存儲在Web Services的Web.config文件中的連接字符串,這樣當數據庫所在的服務器地址改變的時候,通過修改Web.config文件中的連接字符串可以順利、正確的訪問數據庫。

(1)Search Train方法的實現

這個方法用于查找與給定的參數值相匹配的車次。首先,需要使用WebMethod屬性來指出這個方法是一個科調用的Web方法,這樣ASP.NET在運行時才可以提供所有能夠使這個方法在Internet上調用的信息管道。在這個屬性中Description參數用于描述該Web方法。因為在該Web方法中不需要保存會話狀態,所以將EnableSession設置為1,這樣可以清除會話狀態所需的系統開銷,并可以大大提高應用程序的性能。

[WebMethod(EnableSession=1,Description=”This method is used to search for Trains and returns the result as a DateSet”)]

以下語句進行數據庫連接、執行SQL語句命令和保存結果所需要的對象:

SqlConnection sqlConnection;

SqlDateAdapter sqlDateAdapter;

sqlConnection=new sqlconnection;

(ConfigurationSettings.AppSettings[“connectionSting”]);

在數據庫的連接過程中,通過Configur-ationSettings類的AppSettings屬性從Wen.config文件獲得連接字符串。該連接字符串出現在web.config文件的元素中:

pwd=36;detebase=Trainservice”/>

Web.config文件保存一個ASP.NET應用程序的所有配置信息。該文件是一個XML文件,位于Web應用程序的根目錄中,包括身份驗證類型、調試設置和會話處理等方面的信息。Web.config文件也為應用程序保存一些具有特殊用途的設置,它使管理員在無需修改應用程序代碼或重新啟動Web Service的情況下就能夠修改配置設置。

緊接著創建參數對象并設置它們的Value屬性,然后通過調用SelectCommand對象的Parameters集合的Add方法,將它們添加到Command對象中:

SqlParameter paramStarPlace=

new SqlParameter(“@sStartingForm”, SqlDbType.Varchar,50);

paramStartPlace.Value=starPlace;

sqlDataAdapter.SelectCommand.Para meters.Add(paramStartPlace);

對于所要傳遞給存儲過程的所有參數,都執行以上步驟。這些參數包括有:ParamDest-ination、ParamDepartureDate、Param zArrival和ParamTravelClassID。

所有參數都添加到Parameters集合之后,利用先前指派的存儲過程創建一個新的DataSet對象,并使用sqlDAtaAdapter的Fill方法填充該對象。Fill方法的參數是要被填充的DataSet和作為數據源使用的表的名稱:

Train=new DataSet(); sqlDataAdapter.Fill(Train,”Trains”);

整個方法執行將返回一個DataSet數據集,它具有強大的功能,該功能允許將復雜的信息和關系存儲在一個智能的XML結構中。實際上,DataSet提供一個客戶端能夠使用的數據庫的副本,不過該副本的連接時斷開的,從而減少了服務器必須維持的有效數據庫連接的次數。

SearchTrain方法整體被封裝在try…catch…finally塊中,以捕捉任何可能發生的錯誤。如果語句執行期間發生錯誤,則控制權會轉到catch程序塊,該程序塊將錯誤拋給客戶端,以便進行錯誤處理。Finally程序塊調用Close方法關閉同數據庫建立的連接。

(2)AddBooking和GetInformation方法的實現

AddBooking和GetInformation方法的實現同SearchTrain方法的實現基本上相同,也是將方法整體封裝在try…catch…finally塊中。

AddBooking方法的功能是向數據庫中添加訂票的詳細資料,其實現主要是利用TrainService數據庫中的AddBooking存儲過程。在實現該方法過程中,沒有使用sqlData Adapter對象,而是利用SqlCommand對象。該方法的執行結果是將最新創建的訂票ID作為輸出參數返回。在返回時,利用以下函數將返回值強制轉換為整數:

Int BookingID=Convert.Tolnt32(sqlCo mmand.Parameters[“@iBookingID”].Value);

GetInformation方法根據Information TypeID參數的值獲取有關的最近的新聞和旅行交易信息。如果參數是1,則該方法返回有關旅行交易的信息;如果參數是2,則該方法返回有關旅行新聞。該方法調用GetInformation存儲過程實現從數據庫中返回消息的詳細資料。

參考文獻

[1]柴曉路.基于Web服務架構與開發互操作技術[M].北京:清華大學出版社.

[2]強寶華,潘家志等.從關系數據庫中生成XML數據源的研究[J].計算機科學,2002,29(5).

[3]徐享忠,王精業等.基于XML的數據交換格式及其應用[J].計算機工程與設計,2003(05).

[4]張長昊,夏安邦等.XML技術在信息交互中的應用[J].山東工程學院學報,2002,16(3).

主站蜘蛛池模板: 日本高清在线看免费观看| 免费观看无遮挡www的小视频| 亚洲国产成人超福利久久精品| 欧美高清国产| 亚洲色图综合在线| 一本大道香蕉久中文在线播放| 欧美天天干| 国内毛片视频| 老色鬼久久亚洲AV综合| 亚洲天堂在线视频| 精品成人一区二区三区电影 | 欧美国产日本高清不卡| 日韩国产另类| 国产在线精品网址你懂的| 九色视频最新网址| 亚洲视频免费在线看| 欧美综合中文字幕久久| 久久国产精品娇妻素人| 伊人成人在线| 亚洲成A人V欧美综合| 国产成人区在线观看视频| 国产女同自拍视频| 成人中文字幕在线| 色妞永久免费视频| 欧美激情伊人| 国产原创演绎剧情有字幕的| 毛片视频网址| 原味小视频在线www国产| 亚洲成人77777| 中文无码精品A∨在线观看不卡 | 精品成人一区二区三区电影 | jizz在线免费播放| 中文字幕免费在线视频| 四虎亚洲精品| 精品国产一区91在线| 免费人成黄页在线观看国产| 免费av一区二区三区在线| 最新痴汉在线无码AV| 日韩精品高清自在线| 色精品视频| 无码福利日韩神码福利片| 亚洲一级无毛片无码在线免费视频 | a在线观看免费| 狠狠色综合久久狠狠色综合| a级毛片网| 免费在线色| 日韩毛片免费| 尤物精品视频一区二区三区| 中文无码精品a∨在线观看| 91成人在线免费视频| 少妇极品熟妇人妻专区视频| 在线国产91| 国产女主播一区| 欧美一级夜夜爽| 五月激情综合网| 一本一道波多野结衣av黑人在线| 亚洲成aⅴ人片在线影院八| 久久综合九九亚洲一区| 一本色道久久88综合日韩精品| 国产精品嫩草影院av| 国产精品一区二区在线播放| 国产精品丝袜视频| 国产亚洲欧美在线专区| 天天操精品| A级毛片高清免费视频就| 99er精品视频| 天天综合色网| 亚洲第一福利视频导航| 免费午夜无码18禁无码影院| 欧美激情第一欧美在线| 亚洲欧美成人综合| 亚洲精品无码av中文字幕| 国产乱人伦偷精品视频AAA| 国产一区二区三区精品久久呦| 国产亚洲精品91| 五月天久久婷婷| 久久公开视频| 免费国产高清精品一区在线| 亚洲成在人线av品善网好看| 国产女人18水真多毛片18精品| 精品久久人人爽人人玩人人妻| 人妻无码中文字幕第一区|