Sử dụng XML web services (1)

14 381 0
Sử dụng XML web services (1)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Sử dụng XML Web Services Sử dụng XML Web Services Bởi: Nguyễn Tuấn Anh Tạo XML Web Service Trước tạo NET Compact Framework XML Web service client, XML Web Service client phải sử dụng Trong phần tạo Web service, tạo a NET Compact Framework client để sử dụng Web service XML Web service trả thông tin cá nhân Thông tin người lưu CSDL Microsoft SQL Server Khi yêu cầu tạo ra, XML Web service truy vấn trích dẫn ngâu nghiên trả thông tin trích dẫn Chúng ta cần phải thiết lập CSDL trước chạy ví dụ Để tạo XML Web service Visual Studio.NET, sử dụng ASP.NET Web Service template Tên dự án QuotableQuotesWebService XML Web service có tên Service1 tạo file Service1.asmx Thay đổi tên XML Web service thành QuoteService file nguồn aspx QuoteService.aspx XML Web service đưa phương thức web, GetQuote Phương thức trả thông tin trích dẫn Thông tin trích dẫn lấy từ CSDL Microsoft SQL Server Có thủ tục CSDL QuotableQuotes có tên GetQuote, thủ tục sử dụng để truy vấn thông tin trích dẫn Microsoft Visual Studio.NET trợ giúp trình viết mã lệnh để tác động đến thủ tục Trước tiên mở Server Explorer tạo stored procedure GetQuote CSDL QuotableQuotes Kéo stored procedure GetQuote vào phần thiết kế XML Web service Chúng ta tạo hai đối tượng: sqlConnection1 sqlCommand1 Đối tượng sqlConnection1 có kiểu SqlConnection thể kết nối tới CSDL QuotableQuotes Đối tượng sqlCommand1 có kiểu SqlCommand thể SQL command nhận thông tin trích dẫn từ stored procedure Đổi tên sqlConnection1 sqlCommand1 thành quoteConnection cmdGetQuote Trước thực thi GetQuote, cần phải có phương thức giúp đỡ để tạo thông tin trích dẫn ngâu nghiên SqlCommand cmdGetQuote đưa đến tham số Tham số ID ghi thông tin trích dẫn CSDL Trong CSDL thông tin trích dẫn có 1/14 Sử dụng XML Web Services trường khóa có kiểu integer Trường khóa tự động tăng, lần tăng nên một, giá trị đầu tiền QuotableQuote XML Web service trả thông tin trích dẫn ngẫu nghiên Để làm điều này, mã nguồn phải tạo số ngẫu nghiên từ giá trị lớn trường khóa CSDL Số lớn phải nhận từ CSDL Có stored procedure có tên GetLargestQuoteIdentifier CSDL làm điều Đặt GetLargestQuoteID vào stored procedure, kéo vào phần thiết kế Nó tạo đối tượng SqlCommand Đổi tên thành cmdGetLargestID Đoạn mã sau mô tả cách nhận giá trị trường ID lớn từ CSDL Đoạn mã lớp QuoteService Listing 7.1 public Int64 LargestID { get { object largestID = cmdGetLargestID.ExecuteScalar(); if(largestID== null || !(largestID is Int64)) return -1; return (Int64)largestID; } } Trước viết mã lệnh để nhận giá trị lớn trường khóa từ bảng Quotes Trước tiên, đối tượng cmdGetLargestID SqlCommand sử dụng để nhận giá trị lớn trường khóa từ CSDL Khi giá trị nhận kiểm tra Giá trị -1 trả giá trị không hợp lệ Sau nhận giá trị trường khóa lớn nhất, giá trị IP ngâu nghiên tạo Làm điều với lớp System.Random Lớp System.Random thể tạo số ngẫy nghiên Phương thức Next sử dụng để nhận số nguyên ngâu nghiên (Int32) Phương thức Next chấp nhận số nguyên (Int32), số thể giới hạn số ngẫu nghiên để phát sinh Trong ví dụ giá trị lớn ID tạo thông qua tham số Phương thức trả cấu trúc liệu khách hàng, cấu trúc chứa đựng thông tin trích dẫn Listing 7.2 chứa đựng lớp Quote, lớp lưu trữ thông tin trích dẫn Lớp đực đặt file QuoteService.aspx bên không gian tên Li st ing public class Quote { public string String; public string Author; public string Date; } Phương thức GetQuote phải thực thi Phương thức GetQuote Web cần phải hoàn thành công việc sau: Bước 1: Phát sinh giá trị Quote ID ngẫy nghiên 2/14 Sử dụng XML Web Services Bước 2: Lấy liệu trích dẫn từ CSDL Bước 3: Điền vào cấu trúc liệu Quote Bước 4: Trả cấu trúc liệu Quote Trong đoạn mã Listing 7.3 đưa đến phương thức Hello World file QuoteService.aspx Listing 7.3 [WebMethod] public Quote GetQuote() { quoteConnection.Open(); try { Int64 largestID = LargestID; if(-1 == largestID) return null; Random rand = new Random(DateTime.Now.Millisecond); Int64 randomQuoteId = rand.Next((int)largestID); cmdGetQuote.Parameters["@id"] = new SqlParameter("@id", randomQuoteId); SqlDataReader reader = cmdGetQuote.ExecuteReader(); if(!reader.Read()) return null; Quote q = new Quote(); q.String = reader.GetString(0); // Get Quote String q.Author = reader.GetString(1); // Get author's name q.Date = reader.GetString(2); // Get the spoken date return q; } finally { quoteConnection.Close(); } } Trước tiên kết nối với CSDL QuotableQuotes mở phương thức Open đối tượng quoteConnection Tiếp theo giá trị ngẫy nghiên giá trị lớn phát sinh phương thức Next lớp System.Random ID kiểm tra tính hợp lệ Nếu ID hợp lệ, giá trị thiết lập tham số có tên @id đối tượng cmdGetQuote SqlCommand Tiếp theo phương thức ExecuteReader đối tượng SqlComman gọi Phương thức thực thi câu lệnh CSDL Microsoft SQL Server trả đối tượng SqlDataReader, đối tượng cung cấp truy cập vào liệu trích dẫn Sau SqlDataReader điền vào cấu trúc liệu Quote Cuối cùng, cấu trúc liệu Quote trả về, khối finally đảm bảo kết nối CSDL đóng trường hợp có ngoại lệ Trước lớp không gian tên SqlClient sử dụng, không gian tên System.Data.SqlClient phải đưa vào file QuoteService.aspx Mặc định , Web service đưa vào không gian tên http://tempura.org Microsoft khuyến cáo XML Web service có không gian tên XML Điều cho phép ứng dụng client khác biệt với dịch vụ khác Web Có thể hoàn thành cách áp dụng thuộc tính WebServiceAttribute lớp Web service Thêm dòng lệnh sau vào lớp QuoteService: 3/14 Sử dụng XML Web Services [WebService(Namespace="http://netcfkickstart/ QuoteService", Description="Provides access to famous quotes")] Thay đổi thuộc tính không gian tên QuoteService thêm mô tả ngắn gọn Web service Cùng với thuộc tính WebServiceAttribute ứng dụng vào Web service, QuotableQoutes Web service dịch thử Nhấn phím F5 để dịch gỡ lỗi XML Web service QuoteService đưa đến trang Web Trang Web chứa đựng chuỗi mô tả từ thuộc tính WebServiceAttribute Trang chứa nhãn liên kết Service Description Liên kết hiển thị định dạng file WSDL cho dịch vụ Có liên kết cùgn với text GetQuote Chọn liên kết đưa đến trang Web cho phép thử phương thức GetQuote Web Trang kiểm thử cung cấp vài thông tin Chọn vào nút Invoke trang Web gọi phương thức Web hiển thị thông tin trả Internet Explorer Sai XML ví dụ kết trả từ trang GetQuote: "Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth." Sherlock Holmes 1859-1930 Bên cạnh cung cấp khả kiểm thử Web service, trang cung cấp ba ví dụ cách yêu cầu Web service ví dụ trả Ví dụ bao gồm định dạng cho HTTPPOST, HTTP-GET, SOAP Tìm hiểu NET Framework Web Service Client Sử dụng giao thức HTTP thông điệp SOAP, Web service client gửi yêu cầu thể thông tin trả từ Web server Hình 7.1 mô tả thời gian tồn phương thức Web gọi từ client tới Web server Thời gian tồn phương thức Web gọi Web service 4/14 Sử dụng XML Web Services Sau danh sách mô tả bước thời gian tồn phương thứcWeb method Bước1: Ứng dụng client tạo thể lớp proxy Proxy lớp thông điệp giao tiếp ứng dụng client Web service Ứng dụng client gọi phương thức lớp proxy Bước2: Proxy, sử dụng kiến trúc Web service bên phía client, hóa XML Web service yêu cầu đóng gói thông điệp SOAP Bước 3: Thông điệp SOAP sau gửi tới Web server thông qua HTTP Bước 4: Kiến trúc Web service phía server nhận hủy hóa thông điệp SOAP Bước5: Sử dụng thông điệp SOAP, lớp thể Web service tạo Tiếp theo, đối số phương thức Web tạo từ thông điệp SOAP Cuối cùng, phương thứ Web gọi với đối số riêng Bước6: Kiến trúc Web service phía server đóng gói đưa tham số trả giá trị vào thông điệp SOAP Bước 7: Thông điệp SOAP gửi trở lại client thông qua HTTP Bước8: Kiến trúc Web service phía client nhận thông điệp SOAP hủy hóa tham số đưa trả giá trị Giá trị trả lớp proxy Bước 9: Lớp proxy trả tham số đầu trả giá trị tới ứng dụng client Tạo ứng dụng Client XML Web Service Bây chúng tạo client cho QuotableQuotes XML Web service Bắt đầu tạo ứng dụng Smart Device Application Thiết kế giao diện độ họa giống hình 7.2 Mã lệnh để gọi XML Web service đưa vào kiện click nút có nhãn Get Quote Trước tiên thêm tham chiếu đên XML Web service dự án Smart Device Application 5/14 Sử dụng XML Web Services Giao diện người sử dụng QuotableQuotes client application Thêm Web Reference vào Client Application Bây giờ, Web tham chiếu đến dịch vụ cần thiết thêm vào dự án client Để làm điều này, vào Solution Explorer, bấm chuột phải vào mục Reference, chọn Add Web References Hộp thoại Add Web Reference hình (hinh sau) Hộp thoại Web Reference Hộp thoại Add Web Reference giúp xác định Web Services sử dụng chúng ứng dụng Hộp thoại hiển thị bốn liên kết Một liên kết cho phép xem tất XML Web services máy Ba liên kết khác liên kết đến ba UDDI servers/directories Liên kết "Browse UDDI Servers on the local machine" cho phép duyệt UDDI servers mạng cục hai liên kết khác có nhãn UDDI Directory UDDI Directory cung cấp truy cập tới dịch vụ đăng ký với Microsoft Liên kết "UDDI Directory" duyệt UDDI business registry để tìm công ty sản phẩm Web services Liên kết "Test Microsoft UDDI Directory" xác định XML Web services kiểm thử, có nghĩa sử dụng trình phát triển Trong ví dụ QuotableQuotes XML Web service không đăng ký với UDDI Thay đăng ký QuotableQuotes XML Web service với UDDI, địa trang QuoteService.aspx đưa vào hộp thoại Add Web Reference Đưa vào địa URL sau, http://localhost/QuotableQuotesWebService/ QuoteService.asmx, vào hộp text Address bấm Enter nút Go Hộp thoại download file WSDL cho QuoteService Web service Quá trình download hoàn thành, bâm vào nút Add Reference 6/14 Sử dụng XML Web Services Xem lớp Proxy Khi thêm nút Add Reference bấm, Microsoft Visual Studio.NET phát sinh lớp proxy, lớp quản lý tương tác ứng dụng QuotableQuotes Web service Trong số trường hợp file class proxy cần hiển thị thay đổi, mặc định Solution Explorer không hiển thị file class proxy Có thể thay đổi cách chọn nút Show All Files Solution Explorer Bây mở rộng nút Web References nút bên Reference.map Hiện nút có nhãn Reference.cs Bấm đúp vào nút hiển thị mã nguồn lớp proxy Có vài thứ gọi từ lớp proxy Trước tiên, lớp proxy đưa đến khả mã hóa client để URL sử dụng giao tiếp với XML Web service Lớp proxy có thuộc tính URL kiểu chuỗi thể địa URL trang aspx XML Web service Từ Windows CE Pocket PC emulators có địa IP khác tất địa máy khác chạy, khả xác định XML Web service cách sử dụng địa URL mặc định lớp proxy cách sử dụng localhost tên server Thay vì, sử dụng tên server địa IP, phần nên sử dụng địa IP để ngăn ngừa lỗi với giải pháp tên server Thứ hai, file lớp proxy, tồn lớp có tên Quote Lớp tương tự với lớp Quote tạo phía server để lưu thông tin trích đẫn Trong Listing 7.4 chứa đựng khai báo lớp Quote từ file mã nguồn lớp proxy Listing 7.4 [System.Xml.Serialization.XmlTypeAttribute ( Namespace="http://netcfkickstart/QuoteService")] public class Quote { /// public string String; /// public string Author; /// public string Date; } Thuộc tính System.Xml.Serialization.XmlTypeAttribute kiến trúc XML Web service phía client để sử dụng không gian tên http://netcfkickstart/ QuoteService hóa đối tượng có kiểu Lớp Quote phải khai báo proxy, client server sử dụng cấu trúc liệu giống tương tác Tất cấu trúc liệu khách hàng đưa qua đường XML Web service khai báo để sử dụng client file mã nguồn lớp proxy Sử dụng QuotableQuotes Web Service Bây chúng thêm dự án client lớp proxy tạo ra, XML Web service sử dụng ứng dụng clietn Mở phần thiết kế cho giao diện đồ họa client, bấm đúp vào nút Get Quote Sau hiển thị phần nhập mã lệnh cho kiện click 7/14 Sử dụng XML Web Services nút, Trước thực thi phương thức này, không gian tên lớp proxy cần phải thêm vào Form1.cs Lớp proxy tạo không gian tên không gian tên client Thêm vào đoạn mã sau trong: using QuotableQuotesClient.QuoteServiceWebReference; Thao tác đơn giản cần để tạo thể lớp proxy, gọi phương thức GetQuote, hiển thị thông tin trích dẫn giao diện đồ họa Thực thi thao tác cách sử dụng đoạn mã Listing 7.5 Listing 7.5 private void btnGetQuote_Click(object sender, System.EventArgs e) { QuoteService qs = new QuoteService(); Quote quote = qs.GetQuote(); if(null == quote) { MessageBox.Show("An error occurred retrieving a quote"); Return; } UpdateQuoteUI(quote); } UpdateQuoteUI phương thức trợ giúp trích đoạn liệu từ đối tượng Quote cập nhật ứng dụng giao diện đồ họa Listing 7.6 chứa đoạn mã cho phương thức UpdateQuoteUI Listing 7.6 private void UpdateQuoteUI(Quote quote) { lblQuote.Text = quote.String; lblAuthor.Text = "- " + quote.Author; lblDate.Text = ( quote.Date == "Unknown" ) ? string.Empty : quote.Date; } Asynchronous Consumption of the Simple Web Service QuotableQuotes XML Web service sử dụng quản lý đồng Đối tượng proxy tạo, phương thức GetQuote Web gọi Mã hóa sau đợi cho phương thức GetQuote trả lời Trong công việc nhận hoàn thành, luon luon không hành động Cài đặt, hình dùng client cầu khẩn XML Web service mà khối xử lý ttheo thứ tự yêu cầu Lớp proxy cung cấp hai phương thức để thao tác với trạng thái không đồng Web XML service gọi: eginWebMethod EndWebMethod Trong trường hợp WebMethod với tên phương thức Web Ví dụ, proxy QuoteService tạo phương thức BeginGetQuote EndGetQuote 8/14 Sử dụng XML Web Services Phương thức BeginWebMethod có hai tham số phần thêm vào tham số WebMethod đưa đến Cho đến GetQuote không chấp nhận tham số nào, BeginGetQuote chấp nhận hai tham số Trước tiên tham số System.AsyncCallback Thể phương thức gọi WebMethod hoàn thành Tham số thứ hai kiểu đối tượng mà muốn thể trạng thái WebMethod gọi Để tạo trạng thái client không đồng cách tạo hàm gốc gọi lại client Phương thức phải public hay static Nó phải giá trị trả ề chấp nhận tham số kiểu System.IAsyncResult Tham số thể kết async gọi Nó cho phép truy cập tới trạng tháo thông qua BeginWebMethod Thêm phương thức sau vào client: public static void GetQuoteCallBack(IAsyncResult ar) { MessageBox.Show("GetQuote completed"); } Bây thay đổi thực thi nút thao tác gọi trạng thái không đồng XML Web service Trước tiên thay thực thi nút thao tác với thực thi từ mã Listing 7.7 private void btnGetQuote_Click(object sender, System.EventArgs e) { QuoteService qs = new QuoteService(); // Set the url of the proxy to the proper url of the web service AsyncCallback getQuoteCB = new AsyncCallback( QuotableQuotesClient.Form1.GetQuoteCallBack); object[] callBackState = {qs, this}; qs.BeginGetQuote(getQuoteCB, callBackState); } Đoạn mã trước tạo thể Web service Đối tượng AsycnCallback tạo thể trỏ phương thức GetQuoteCallBack client Cuối Web service gọi bắt đầu sử dụng phương thức BeginGetQuote Phương thức trả kết trước phương thức Web gọi hoàn thành Listing 7.8 chứa đựng thực thi phương thức GetQuoteCallBack Listing 7.8 public static void GetQuoteCallBack(IAsyncResult ar) { object[] callBackState = (object[])ar.AsyncState; 9/14 Sử dụng XML Web Services QuoteService qs = (QuoteService)callBackState[0]; Form1 app = (Form1)callBackState[1]; Quote quote = qs.EndGetQuote(ar); if(null == quote) { MessageBox.Show("No quote object received."); return; } app.UpdateQuoteUI(quote); } Sử dụng Web Service có sử dụng DataSet XML Web service trả cấu trúc liệu khách hàng .NET Compact Framework cung cấp khả truyền kiện nhiều liệu phức tạp, giống DataSet Mặc dù NET Compact Framework không hỗ trợ kiểu DataSet Gửi nhận DataSet thường xuyên hoàn thành xác giống gửi cấu trúc liệu phẫn liệu đơn giản, chuỗ Phương thức Web đơn giản cần chấp nhận trả đối tượng System.Data.DataSet Trong tìm hiểu DataSet đầu tiên, gửi hoàn thành bảng Quotes tới client Cho phép ứng dụng offline đợi đến hiển thị trích dẫn đến người sử dụng bấm vào GetQuote Có stored procedure CSDL QuotableQuotes gọi GetQuotes, thủ tục trả tất thông tin trích dẫn bảng Quotes Trở lại phần thiết kế XML Web service, kéo thủ tục vào phần thiết kế Thay đổi tên câu lệnh thành cmdGetQuotes Chúng ta đưa phương thức Web GetQuotes QuoteService, phương thức trả DataSet DataSet điền vào cách sử dụng SqlDataAdapter chung với đối tượng SqlCommand cmdGetQuotes, mà thêm vào đối tượng Được má hóa sau: [WebMethod] public DataSet GetQuotes() { quoteConnection.Open(); try { DataSet quotesDS = new DataSet(); SqlDataAdapter quotesDa = new SqlDataAdapter(this.cmdGetQuotes); quotesDa.Fill(quotesDS); return quotesDS; } finally { quoteConnection.Close(); } } Dịch thử phương thức Web cách giống với phương thức GetQuote thử Lần kết trả trang dài XML tới trình đuyệt XML đơn giản dưa XML từ DataSet.WriteXml Bởi kiến trúc XML Web service hóa DataSet cách gọi phương thức DataSet.WriteXml 10/14 Sử dụng XML Web Services Bay tạo ứng dụng client sử dụng DataSet từ Web service Bắt đầu cách tạo Smart Device Application giống cách tạo ứng dụng QuotableQuotesClient Tạo ứng dụng có giao diện đồ họa thêm đoạn mã sau vào lớp Form1: private DataSet quotesDataSet; private int curQuoteRowNdx; Bấm đúp vào nút Get Quotes đưa đến kiện click Listing 7.9chứa mã nguồn Listing 7.9 private void btnQuote_Click(object sender, System.EventArgs e) { if(null == quotesDataSet) { QuoteService qs = new QuoteService(); // Set the proxy's url property to the correct url of the server quotesDataSet = qs.GetQuotes(); curQuoteRowNdx = 0; } if( quotesDataSet.Tables.Count = quotesDataSet.Tables[0].Rows.Count) curQuoteRowNdx = 0; DataRow quote = quotesDataSet.Tables[0].Rows[curQuoteRowNdx]; curQuoteRowNdx++; UpdateQuoteUI(quote, 0); } Quotes DataSet download từ dịch vụ web quotes DataSet null Lần đâu tiên nút Get Quotes bấm DataSet có giá trị null Các lần sau gọi thông tin trích dẫn lưu quotes DataSet cục , không cần thiết download lại Nếu quotes DataSet có giá trị null, sau đối tượng QuoteService proxy tạo, thuộc tính URL proxy cấu hình, phương thức Web GetQuotes gọi Tương ứng với DataRow nhận từ DataSet UpdateQuoteUI gọi, hiển thị thông tin trích dẫn tới ngườiu sử dụng UpdateQuoteUI thực thi để sử dụng DataRow thay cho cấu trúc thông tin trích dẫn Có tham số giá trị nguyên có tên offset kiểu Int32 Listing 7.10 chứa đựng thực thi phương thức UpdateQuoteUI Listing 7.10 11/14 Sử dụng XML Web Services private void UpdateQuoteUI(DataRow quote, int offset) { lblQuote.Text = (string)quote[offset]; lblAuthor.Text = "" + quote[offset + 1]; lblDate.Text = "Unknown" == (string)quote[offset + 2] ? string.Empty : (string)quote[offset + 2]; } Dịch chạy ứng dụng Ứng dụng hành động xác làm trước, ngoại trừ trích dẫn lặp lại ngoại trừ hiển thị theo thứ tự không định trước Sử dụng Web Service trả kiểu DataSet NET Compact Framework không hỗ trợ kiểu DataSet Nếu Web service sử dụng kiểu DataSet, NET Compact Framework clients không sử dụng Web service Đặc biệt, client bị lỗi cố gắng dịch proxy vào ứng dụng Có công việc xung quanh vấn đề sử dụng kiểu DataSet: - Thay đổi XML Web service để sử dụng DataSet chuẩn - Thay đổi XML Web Service để đưa DataSet chuẩn - Tạo XML Web service sử dụng kiểu DataSet nguyên chuyển DataSet chuẩn Có hai lựa chọn dường giống nhau, chúng khác Lựa chọn đề xuất loại bỏ toàn tất thể kiểu DataSet từ Web service sử dụng DataSet chuẩn mã hóa Đề xuất thứ hai thay đổi Web service để đưa (send/receive) DataSet chuẩn Điều có nghĩa mã nguồn tạo sử dụng tiện ích kiểu DataSet, phương thức Web sử dụng DataSet chuẩn tham số giá trị trả Đơn giản ghi XML Web service để đưa DataSet chuẩn bên sử dụng kiểu DataSet Trở lại đối tượng QuoteableQuotes XML Web service, phần thiết kế XML Web Service designer Xác định bảng Quotes Server Explorer Nó sau đây: \SQLServers\\QuotableQuotes\ Tables Kéo bảng Quotes vào phần thiết kế Nó tạo SqlDataAdapter, để tạo kiểu DataSet cho bảng Quotes Đổi tên SqlDataAdapter thành daQuotesDS 12/14 Sử dụng XML Web Services Bấm vào SqlDataAdapter, vào phần menu Data, chọn mục Generate DataSet Nó đưa đến hộp thoại Generate DataSet Thay đổi tên DataSet thành QuotesDataSet, bấm OK Nó sinh kiểu DataSet cho bảng Quotes Tạo phương thức Web tên GetTypeQuotes Phương thức Web trả DataSet chuẩn, bên sử dụng QuotesDataSet kiểu DataSet Listing 7.11 chứa đựng phương thức chuyển kiểu DataSet thành DataSet chuẩn trước trả người sử dụng Listing 7.11 [WebMethod] public DataSet GetTypedQuotes() { quoteConnection.Open(); try { QuotesDataSet quotesDS = new QuotesDataSet(); this.daQuotesDS.Fill(quotesDS); return quotesDS; } finally {quoteConnection.Close(); } } Để kết thúc ví dụ Quotable Quotes DataSet client cần phải thay đổi để sử dụng phương thức GetTypedQuotes Chỉ thao tác click nút cần thiết phải thay đổi Thao tác gọi GetTypeQuotes thay cho GetQuotes Mặc dù, tham số offset phương thức UpdateQuoteUI thay cho thành theo thứ tự bù cho cột ID DataRow Listing 7.12 chứa đựng đoạn mã cho phương thức Listing 7.12 private void btnQuote_Click(object sender, System.EventArgs e) { if(null == quotesDataSet) { QuoteService qs = new QuoteService(); // Set the proxy's url property to the correct url of the server quotesDataSet = qs.GetTypedQuotes(); curQuoteRowNdx = 0; } if(quotesDataSet.Tables.Count >= 0) { MessageBox.Show("Could not retreive the quotes dataset."); return; } if(curQuoteRowNdx >= quotesDataSet.Tables[0].Rows.Count) curQuoteRowNdx = 0; DataRow quote = quotesDataSet.Tables[0].Rows[curQuoteRowNdx]; curQuoteRowNdx++; UpdateQuoteUI(quote, 1); } Tổng kết - NET Compact Framework cung cấp khả cho ứng dụng sử XML Web services 13/14 Sử dụng XML Web Services - NET Compact Framework cung cấp khả cho sử dụng liệu đơn giản, chuỗi, liệu phức tạp, cấu trúc liệu người dùng tự định nghĩa DataSet - NET Compact Framework hỗ trợ đồng không đồng gọi XML Web service 14/14

Ngày đăng: 20/10/2016, 05:47

Mục lục

  • Sử dụng XML Web Services

  • Tạo XML Web Service

  • Tìm hiểu .NET Framework Web Service Client

  • Tạo một ứng dụng Client XML Web Service.

    • Thêm Web Reference vào Client Application

    • Xem lớp Proxy

    • Sử dụng QuotableQuotes Web Service

    • Asynchronous Consumption of the Simple Web Service

    • Sử dụng Web Service có sử dụng DataSet

    • Sử dụng Web Service trả về kiểu DataSet

    • Tổng kết

Tài liệu cùng người dùng

Tài liệu liên quan