




已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第四部分 Web 服務(wù)與項(xiàng)目開發(fā) 第 9 章 基于 XML 的 NET Web 服務(wù) 本章要點(diǎn) 本章將介紹 Web Service 的原理 如何創(chuàng)建 Web Service 和使用 Web Service 用一個 簡單但是完整的案例說明Web Service的各種使用方法 介紹了Web Service中的數(shù)據(jù)類型 如何使用 ASP NET 的內(nèi)部對象 Session 和 Application 簡單的介紹了 SOAP 協(xié)議及其應(yīng)用 并介紹如何使用 Web Service 的數(shù)據(jù)服務(wù) 9 1 Web 服務(wù)簡介 Web 服務(wù)是微軟 NET 策略計劃的基礎(chǔ) 一個 Web Service 就是一個應(yīng)用 Web 協(xié)議的 可編程的應(yīng)用程序邏輯 其中最重要的協(xié)議是簡單對象訪問協(xié)議 SOAP Simple Object Access Protocol 9 1 1 Web 服務(wù)核心技術(shù)基礎(chǔ) Web 服務(wù)是一種應(yīng)用程序 使用標(biāo)準(zhǔn)的互聯(lián)網(wǎng)協(xié)議 在網(wǎng)上提供函數(shù)接口 用戶可 以從任何地方調(diào)用 Web 服務(wù) Web 服務(wù)主要使用兩種技術(shù) XML XML 可以使 Web 服務(wù)方便的處理數(shù)據(jù) 實(shí)現(xiàn)內(nèi)容與表示分離 SOAP SOAP 使用 XML 消息調(diào)用遠(yuǎn)程方法 SOAP 是 Web 服務(wù)最重要的協(xié)議 9 1 2 Web 服務(wù)的接口描述 主要的接口方式為 WSDL Web Service Description Language Web 服務(wù)描述語言 和 UDDI Universal Description Discovery and Integration 統(tǒng)一的描述 發(fā)現(xiàn)和集成 WSDL 文檔用于動態(tài)發(fā)布 Web 服務(wù) 查找已發(fā)布的 Web 服務(wù)以及綁定 Web 服務(wù) 在 WSDL 中包含了使用 SOAP 的服務(wù)描述的綁定 也包含了使用簡單 HTTP GET 和 POST 請 求的服務(wù)描述的綁定 UDDI 提供了在 Web 上描述并發(fā)現(xiàn)商業(yè)服務(wù)的框架 UDDI 通過服務(wù)注冊 以及使用 SOAP 訪問這些注冊信息的約定 UDDI 計劃的核心組件是 UDDI 商業(yè)注冊 使用一個 XML 文檔來描述企業(yè)及其提供的 Web 服務(wù) 9 2 創(chuàng)建并使用 Web 服務(wù) 一個 Web 服務(wù)程序可以為本地和遠(yuǎn)程的程序提供函數(shù)接口 通過這些函數(shù)接口為其 他應(yīng)用程序提供服務(wù) 9 2 1 編寫 Web 服務(wù) NET Web 服務(wù)源文件的擴(kuò)展名是 asmx 和 C 格式的程序有些相似 利用 WebMethod 向外提供函數(shù)接口 如程序 9 01 asmx 所示 案例名稱 編寫案例名稱 編寫 Web 服務(wù)服務(wù) 程序名稱 程序名稱 9 01 asmx using System Web Services public class Greetings WebMethod public string Hello string strName return hello strName Have a great day 程序中 第一行指示該程序是一個 Web 服務(wù) 使用的編程語言為 C 類名為 Greetings 第二行引入 Web 服務(wù)所需要的命名空間 第三行聲明類 類名為 Greetings 第五行聲明 一個方法 這個方法名稱為 Hello 帶有 string 類型的參數(shù) strName 返回一個 string 類型 的參數(shù) 9 2 2 測試 Web 服務(wù) 將 9 01 asmx 文件放到網(wǎng)站的某個目錄中 像執(zhí)行 ASP NET 文件一樣 利用瀏覽器打 開該程序 顯示的結(jié)果如圖 9 1 所示 圖 9 1 測試 Web 服務(wù) 該頁面開始是 Web 服務(wù)的名稱 這里是 Greetings 接著是它的操作列表 這里只有 一個操作列表是 Hello 在文本框輸入一些字符串并點(diǎn)擊按鈕 顯示的結(jié)果如圖 9 2 所示 圖 9 2 顯示方法說明頁 調(diào)用以后 Web 服務(wù)將返回一個 XML 文件 其中包含方法的 Web 服務(wù)的執(zhí)行結(jié)果 如圖 9 3 所示 圖 9 3 顯示 XML 結(jié)構(gòu)的文檔 說明 Web 服務(wù)已經(jīng)成功創(chuàng)建了 從總體上講 Web 服務(wù)實(shí)現(xiàn)的功能和 EJB Enterprise JavaBean 技術(shù) CORBA Common Object Request Broker Architecture 技術(shù) DCOM 技術(shù) Distributed Component Object Model 分布式組件對象模型 實(shí)現(xiàn)的功能類似 這里 體現(xiàn)了 Web 服務(wù)的一個優(yōu)勢 調(diào)試非常容易 9 2 3 使用 Web 服務(wù) 使用 Web 服務(wù)的過程實(shí)際上是 Web 服務(wù)的使用者與 Web 服務(wù)實(shí)現(xiàn)綁定 并調(diào)用其方 法的過程 綁定的方式有兩種 一種是動態(tài)的 另一種是靜態(tài) 動態(tài)的是 UDDI 實(shí)現(xiàn)的 靜態(tài)通過 WSDL 文件實(shí)現(xiàn) 使用 Web 服務(wù)之前需要先生成服務(wù)代理類 然后生成服務(wù)代 理程序 生成服務(wù)代理類 代理類是根據(jù) Web 服務(wù)的 WSDL 文件產(chǎn)生的本地類 包括類和方法的聲明 為了創(chuàng) 建代理類 需要在命令行使用 WSDL exe 文件生成代理類文件 使用的命令如 9 02 bat 文 件所示 命令名稱 生成代理類命令名稱 生成代理類 程序名稱 程序名稱 9 02 bat wsdl exe http localhost 9 01 asmx wsdl l cs n Ser cs pause 需要把 9 01 asmx 文件放到網(wǎng)站的根目錄 參數(shù) l 的意思是使用的語言 n 參數(shù)說明 產(chǎn)生類的主類名 編譯的過程如圖 9 4 所示 圖 9 4 生成代理類 如果找不到 wsdl exe 文件 需要將該文件所在的路徑添加到系統(tǒng)路徑下 編譯完以后 在當(dāng)前目錄下生成代理類文件 Greetings cs 如圖 9 5 所示 圖 9 5 生成的代理類 文件中的內(nèi)容是 NET 運(yùn)行庫用來與 Web 服務(wù)進(jìn)行實(shí)際連接的時候使用的 生成代理程序 要讓代理類被其他應(yīng)用程序調(diào)用 需要利用代理類生成程序 代理程序是一個動態(tài)鏈 接庫文件 Dynamic Link Library DLL 首先在當(dāng)前的目錄下建立 bin 文件夾 建立代理程序的指令如文件 9 03 bat 所示 命令名稱 生成代理程序命令名稱 生成代理程序 程序名稱 程序名稱 9 03 bat csc out bin Greetings dll t library r system data dll r system web services dll Greetings cs pause 命令執(zhí)行成功以后就會在建立的 bin 文件夾下面創(chuàng)建 Greetings dll 文件 編譯過程如 圖 9 6 所示 圖 9 6 生成代理程序的過程 其中 bin 目錄下的 Greetings dll 就是代理程序 如圖 9 7 所示 圖 9 7 生成的代理程序 注意 代理程序必須放在網(wǎng)站的根目錄下的 bin 文件夾中 否則程序?qū)⒄也坏酱沓?序 本地使用 Web 服務(wù) ASP NET 程序在執(zhí)行的時候 如果遇上了陌生的名稱空間 就會到網(wǎng)站的根目錄下尋 找代理程序 調(diào)用方法如程序 9 04 aspx 所示 案例名稱 案例名稱 ASP NET 文件使用文件使用 Web 服務(wù)服務(wù) 程序名稱 程序名稱 9 04 aspx void Page load object sender EventArgs e Greetings k new Greetings Message Text Web Service 返回信息為 k Hello 小劉 程序中使用語句 Import Namespace Ser cs 引入名字空間 因?yàn)椴皇?NET 提供的 程 序到 bin 目錄下可以找到命名空間 程序顯示的結(jié)果如圖 9 8 所示 圖 9 8 ASP NET 程序調(diào)用代理程序 遠(yuǎn)程使用 Web 服務(wù) Web 服務(wù)主要的功能是通過 HTTP 被全世界的用戶調(diào)用 所以通常都是被遠(yuǎn)程調(diào)用 遠(yuǎn)程調(diào)用需要利用 Visual Studio NET 來建立項(xiàng)目 創(chuàng)建基于 ASP NET Web 應(yīng)用程序的項(xiàng) 目 如圖 9 9 所示 圖 9 9 建立 ASP NET 項(xiàng)目工程 在新建工程的 解決方案管理器 中 右擊 引用 菜單 選擇 添加 Web 引用 如圖 9 10 所示 圖 9 10 添加 Web 引用 輸入要引入 Web 服務(wù)的 HTTP 地址 然后點(diǎn)擊按鈕 添加引用 如圖 9 11 所示 圖 9 11 添加 HTTP 引用 添加完畢以后 可以在程序使用遠(yuǎn)程 Web 服務(wù) 在 Form 窗體上添加一個按鈕 并為 按鈕添加事件 加入如程序 9 05 txt 的代碼 案例名稱 遠(yuǎn)程使用案例名稱 遠(yuǎn)程使用 Web 服務(wù)服務(wù) 程序名稱 程序名稱 9 05 txt private void Button1 Click object sender System EventArgs e localhost Greetings g new localhost Greetings string strRet g Hello 小王 Response Write strRet 編譯運(yùn)行工程 然后點(diǎn)擊按鈕 得到 Web 服務(wù)的遠(yuǎn)程運(yùn)行結(jié)果 如圖 9 12 所示 圖 9 12 遠(yuǎn)程調(diào)用 Web 服務(wù) 9 3 Web 服務(wù)中的數(shù)據(jù)類型 Web Service 建立在 XML 基礎(chǔ)上 支持豐富的數(shù)據(jù)類型 表 9 1 列出使用 SOAP 協(xié)議 的時候 Web Service 支持的常用數(shù)據(jù)類型 表 9 1 Web Service 的常用數(shù)據(jù)類型 值 說明 基本數(shù)據(jù)類型 分別是 String Char Byte Boolean Int16 Int32 Int64 UInt16 UInt32 UInt64 Single Double Guid Decimal DateTime 枚舉類型 如 public enum color red 1 blue 2 數(shù)組類型 如 string 和 int 類和結(jié)構(gòu) 利用 class 定義的數(shù)據(jù)類型 數(shù)據(jù)集 ADO NET 中的 DataSet 對象 數(shù)據(jù)集數(shù)組 DataSet 數(shù)組 9 3 1 創(chuàng)建 Web 服務(wù) 下面對常用的 Web Service 的數(shù)據(jù)類型做簡單的介紹 這里涉及到的是常見的類 數(shù) 組 字符串和類的數(shù)組等 如程序 9 06 asmx 文件所示 案例名稱 使用案例名稱 使用 Web Service 的數(shù)據(jù)類型的數(shù)據(jù)類型 程序名稱 程序名稱 9 06 asmx using System using System Web Services public enum Mode On 1 Off 2 public class Order public int OrderID public double Price public class DataTypes WebMethod public String SayHello return Hello World WebMethod public String SayHelloName String name return Hello name WebMethod public int GetIntArray int a new int 5 for int i 0 i 5 i a i i 10 return a WebMethod public Mode GetMode return Mode Off WebMethod public Order GetOrder Order myOrder new Order myOrder Price 34 5 myOrder OrderID 323232 return myOrder WebMethod public Order GetOrders Order myOrder new Order 2 myOrder 0 new Order myOrder 0 Price 34 5 myOrder 0 OrderID 323232 myOrder 1 new Order myOrder 1 Price 99 4 myOrder 1 OrderID 645645 return myOrder 可以直接從 Web 站點(diǎn)中看看方法列表了 包括六個方法 顯示的結(jié)果如圖 9 13 所示 圖 9 13 使用 Web Service 的數(shù)據(jù)類型 程序中 主要涉及了幾個方法 這幾個方法的功能如下 SayHello 方法顯示從服務(wù)返回字符串 SayHelloName 方法返回字符串 并將字符串作為參數(shù) GetIntArray 方法顯示如何返回整數(shù)數(shù)組 GetMode 方法返回枚舉值 GetOrder 方法返回類 GetOrders 方法返回 Order 對象的數(shù)組 要在應(yīng)用程序中使用 需要創(chuàng)建代理類和代理程序 創(chuàng)建代理類和代理程序的方法如 文件 9 07 bat 所示 命令名稱 創(chuàng)建代理類和代理程序命令名稱 創(chuàng)建代理類和代理程序 程序名稱 程序名稱 9 07 bat wsdl exe http localhost 9 06 asmx wsdl l cs n DataTypes csc out bin DataTypes dll t library r system data dll r system web services dll DataTypes cs pause 生成代理程序放在當(dāng)前目錄的 bin 文件夾下 命令的執(zhí)行過程如圖 9 14 所示 圖 9 14 命令執(zhí)行的結(jié)果 9 3 2 本地調(diào)用代理程序 在 ASP NET 文件中 可以調(diào)用生成的代理類 如程序 9 08 aspx 所示 案例名稱 使用案例名稱 使用 Web Service 的數(shù)據(jù)類型的數(shù)據(jù)類型 程序名稱 程序名稱 9 08 aspx public void Page Load Object sender EventArgs E DataTypes d new DataTypes Message1 InnerHtml d SayHello Message1 InnerHtml Message1 InnerHtml d SayHelloName Bob Message3 InnerHtml Message3 InnerHtml d GetMode int myIntArray d GetIntArray String myString Contents of the Array for int i 0 i myIntArray Length i myString myString myIntArray i Message2 InnerHtml Message2 InnerHtml myString Order myOrder d GetOrder Message4 InnerHtml Message4 InnerHtml OrderID myOrder OrderID Message4 InnerHtml Message4 InnerHtml Price myOrder Price Order myOrders d GetOrders for int i 0 i 0 Message5 InnerHtml Message5 InnerHtml Order i Message5 InnerHtml OrderID myOrders i OrderID Message5 InnerHtml Price myOrders i Price 字符串變量 使用數(shù)組變量 枚舉數(shù)據(jù)類型 返回一個類或結(jié)構(gòu)體 返回一個類或結(jié)構(gòu)體數(shù)組 程序中分別調(diào)用了 Web Service 提供的方法 程序顯示的結(jié)果如圖 9 15 所示 圖 9 15 使用 Web Service 的數(shù)據(jù)類型 9 4 Web 服務(wù)使用 ASP NET 內(nèi)部對象 Web 服務(wù)可以訪問 ASP NET 內(nèi)部對象 如 Session 和 Application 對象 程序 9 09 asmx 說明了使用 Session 和 Application 來實(shí)現(xiàn)頁面的訪問記數(shù) 案例名稱 使用內(nèi)部對象案例名稱 使用內(nèi)部對象 程序名稱 程序名稱 9 09 asmx using System using System Web Services public class SessionService1 WebService WebMethod EnableSession true public String UpdateHitCounter if Session HitCounter null Session HitCounter 1 else Session HitCounter int Session HitCounter 1 return 訪問這個 Web 服務(wù) Session Session HitCounter ToString 次 WebMethod EnableSession false public String UpdateAppCounter if Application HitCounter null Application HitCounter 1 else Application HitCounter int Application HitCounter 1 return 訪問這個 Web 服務(wù) Applicaton Application HitCounter ToString 次 Web 服務(wù)提供兩個方法 一個利用 Session 實(shí)現(xiàn)頁面訪問記數(shù) 另一個利用 Application 實(shí)現(xiàn)頁面的訪問記數(shù) 利用 WebMethod EnableSession false 實(shí)現(xiàn) Session 對象的關(guān) 閉 瀏覽器直接調(diào)用顯示結(jié)果如圖 9 16 所示 圖 9 16 使用內(nèi)部對象 使用之前依然生成代理程序 使用命令如程序 9 10 bat 所示 命令名稱 創(chuàng)建代理類和代理程序命令名稱 創(chuàng)建代理類和代理程序 程序名稱 程序名稱 9 10 bat wsdl exe http localhost 9 09 asmx wsdl l cs n SessionService1 csc out bin SessionService1 dll t library r system data dll r system web services dll SessionService1 cs pause 命令的執(zhí)行如圖 9 17 所示 圖 9 17 創(chuàng)建代理類和代理程序 利用 ASP NET 文件來調(diào)用該 Web 服務(wù)的代理程序 ASP NET 的程序如 9 11 aspx 文 件所示 案例名稱 使用內(nèi)部對象案例名稱 使用內(nèi)部對象 程序名稱 程序名稱 9 11 aspx public void Page Load Object sender EventArgs E SessionService1 s new SessionService1 s CookieContainer new CookieContainer Message1 InnerHtml s UpdateHitCounter s UpdateHitCounter s UpdateHitCounter Message2 InnerHtml s UpdateAppCounter s UpdateAppCounter s UpdateAppCounter 在 Web 服務(wù)中使用內(nèi)置對象 Session 和 Application 我被訪問了 我被訪問了 Session 和 Application 分別實(shí)現(xiàn)了訪問的記數(shù)功能 當(dāng)瀏覽器刷新的時候 或者新打 開瀏覽器的時候 Application 的計數(shù)值會自動增長 程序中 s CookieContainer new CookieContainer 的功能臨時將 Session 數(shù)據(jù)存儲在 CookieContainer 對象中 如果沒有 該語句 將不能實(shí)現(xiàn)計數(shù) 執(zhí)行的結(jié)果如圖 9 18 所示 圖 9 18 使用對象和內(nèi)部對象 9 5 使用 SOAP 協(xié)議 SOAP 是 Web 服務(wù)交換消息的標(biāo)準(zhǔn)協(xié)議 SOAP 利用 XML 來封裝信息 對于 Web 服 務(wù)來說 SOAP 通過 XML 格式的信息傳遞參數(shù) 進(jìn)行 Web 調(diào)用 9 5 1 SOAP 的結(jié)構(gòu) 無論是傳遞數(shù)據(jù)還是執(zhí)行遠(yuǎn)程方法調(diào)用 SOAP 必須有一個統(tǒng)一的格式 SOAP 首先 必須具有 XML 格式 并且由 Schema 大綱定義其所包含的標(biāo)記 總體上看 SOAP 消息主 要包括以下 3 個主要元素 1 SOAP 它是整個 SOAP 消息的根元素 也是每個 SOAP 消息中必須有 的元素 其他元素都在這個元素內(nèi)部 2 SOAP 元素是 SOAP 消息中的可選元素 也就是說不是每個 SOAP 消息中都必須有元素 但如果有 必須是的第一個直接子元素 元素中可以包括多個頭條目子元素 3 SOAP 這是每個 SOAP 消息中都必須有的元素 而且是元素的 直接子元素 如果 Envelope 消息中沒有元素 那這個元素必須是元素 的第一個子元素 否則它必須緊接著元素 程序 9 12 xml 文件定義了一個 SOAP 消息的格式 案例名稱 案例名稱 SOAP 的結(jié)構(gòu)的結(jié)構(gòu) 程序名稱 程序名稱 9 12 xml Admin MyPassword 利用 IE5 以上版本的瀏覽器打開 SOAP 是一個標(biāo)準(zhǔn)的 XML 文件 顯示成 XML 默認(rèn) 的樹狀結(jié)構(gòu) 如圖 9 19 所示 圖 9 19 SOAP 文件的瀏覽器顯示 9 5 2 定義和處理 SOAP 頭條目 Web 服務(wù)允許定義和處理 SOAP 頭條目 定義 SOAP 頭條目是通過繼承 SoapHeader 類實(shí)現(xiàn)的 定義 SOAP 頭條目 創(chuàng)建一個繼承 SoapHeader 的類 作為頭條目內(nèi)容的元素應(yīng)該聲明為公開的的成員方 法 例如下面的類繼承 SoapHeaer 其中聲明 Username 和 Password 兩個成員 public class AuthHeaderCS SoapHeader public string Username public string Password 處理 SOAP 頭條目 定義的 SOAP 頭條目類 可以在 Web 服務(wù)中使用 使用 SOAP 頭條目分為如下三步 1 在 Web 服務(wù)類中聲明一個代表 SOAP 頭條目類的變量 比如 WebService Description Simple sample to demonstrate use of SOAP Headers public class HeaderService public AuthHeaderCS sHeader 2 在每個 Web 服務(wù)方法上應(yīng)用 SoapHeader 特性 比如 WebMethod Description This method requires a custom soap header set by the caller SoapHeader sHeader public string SecureMethod 3 在每個應(yīng)用了 SoapHeader 特性的 Web 服務(wù)方法中訪問變量中成員 比如 public string SecureMethod if sHeader null return ERROR Please supply credentials string usr sHeader Username string pwd sHeader Password 程序 9 13 asmx 文件使用 SOAP 頭條目實(shí)現(xiàn)用戶名的驗(yàn)證 程序中只要是用戶名和密 碼不為空 就視為合法的用戶 否則視為非法用戶 案例名稱 使用案例名稱 使用 SOAP 頭條目實(shí)現(xiàn)驗(yàn)證頭條目實(shí)現(xiàn)驗(yàn)證 程序名稱 程序名稱 9 13 asmx using System using System Web Services using System Web Services Protocols namespace SoapHeadersCS public class AuthHeaderCS SoapHeader public string Username public string Password public class HeaderService public AuthHeaderCS sHeader WebMethod SoapHeader sHeader public string SecureMethod if sHeader null return 錯誤 請?zhí)峁?yàn)證信息 string usr sHeader Username string pwd sHeader Password if AuthenticateUser usr pwd return 驗(yàn)證成功 usr pwd else return 錯誤 不能被驗(yàn)證 private bool AuthenticateUser string usr string pwd if usr null return false 利用瀏覽器調(diào)用 Web Service 的程序 顯示的結(jié)果如圖 9 20 所示 圖 9 20 使用 SOAP 頭條目實(shí)現(xiàn)驗(yàn)證 將 Web 服務(wù)編譯成代理程序 用的指令如程序 9 14 bat 文件所示 命令名稱 編譯成代理程序命令名稱 編譯成代理程序 程序名稱 程序名稱 9 14 bat wsdl exe http localhost 9 13 asmx wsdl l cs n soapheaders csc out bin SoapHeaders dll t library r system data dll r system web services dll HeaderService cs pause 編譯過程如圖 9 21 所示 圖 9 21 生成代理程序的過程 利用 9 15 aspx 文件來調(diào)用 Web Service 實(shí)現(xiàn) SOAP 頭的驗(yàn)證 案例名稱 使用案例名稱 使用 SOAP 頭條目實(shí)現(xiàn)驗(yàn)證頭條目實(shí)現(xiàn)驗(yàn)證 程序名稱 程序名稱 9 15 aspx public void Page Load Object sender EventArgs e HeaderService h new HeaderService Response Write 第一次調(diào)用 try Response Write h SecureMethod catch Exception ex Response Write 出現(xiàn)異常 ex StackTrace AuthHeaderCS myHeader new AuthHeaderCS myHeader Username JohnDoe myHeader Password password h AuthHeaderCSValue myHeader Response Write 第二次調(diào)用 h SecureMethod 進(jìn)行了兩次調(diào)用 第二次密碼不為空 這個時候就是合法的 如果為空 則視為錯誤 程序顯示的結(jié)果如圖 9 22 所示 圖 9 22 使用 SOAP 頭條目實(shí)現(xiàn)驗(yàn)證 9 6 Web 服務(wù)的數(shù)據(jù)服務(wù) Web 服務(wù)的數(shù)據(jù)服務(wù)是最常用的一種服務(wù) 在 Web 服務(wù)使用 System Data 名字空間可 以利用數(shù)據(jù)庫系統(tǒng)提供數(shù)據(jù)服務(wù) 程序 9 16 asmx 利用 Web 服務(wù)方法返回數(shù)據(jù)集 這是 XML Web 服務(wù)的一個非常強(qiáng)大 功能 因?yàn)閿?shù)據(jù)集可以存儲復(fù)雜的信息和關(guān)系 通過 Web 服務(wù)公開數(shù)據(jù)集后 可以限制 數(shù)據(jù)服務(wù)器正在使用的數(shù)據(jù)庫連接 這樣就增加了服務(wù)器端安全性和減少了服務(wù)端負(fù)載 案例名稱 使用案例名稱 使用 Web 服務(wù)建立數(shù)據(jù)服務(wù)服務(wù)建立數(shù)據(jù)服務(wù) 程序名稱 程序名稱 9 16 asmx using System using System Web using System Web Services using System Data using System Data OleDb public class DBSrc WebService WebMethod public DataSet GetACCData string TBName string tiaojian1 string x Server MapPath person mdb string f Provider Microsoft Jet OLEDB 4 0 Data Source x OleDbConnection ACConn new OleDbConnection f DataSet DS new DataSet string k SELECT From TBName where 姓名 like tiaojian1 OleDbDataAdapter NComm new OleDbDataAdapter k ACConn NComm Fill DS TBName return DS 程序利用 Ol
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際產(chǎn)品授權(quán)分銷合同
- 辦公家具采購合同一
- 商品買賣合同「樣本」
- 商業(yè)地產(chǎn)買賣合同模板范文
- 公司設(shè)立投資合作合同范本
- 礦山棄渣處理合同范本
- 消防及安全整改合同履行細(xì)則
- 校企合作合同新范本
- 土地使用權(quán)出讓合同及物業(yè)銷售細(xì)則
- 躉船結(jié)構(gòu)培訓(xùn)課件
- 2024-2030年藝術(shù)攝影服務(wù)產(chǎn)業(yè)發(fā)展分析及發(fā)展趨勢與投資前景預(yù)測報告
- 【光明乳業(yè)股份有限公司財務(wù)報表探析(定量論文)7800字】
- 外研版(2019)必修 第一冊Unit 1 A New Start revision 課件
- 肺部感染臨床路徑
- 高中英語3500詞(亂序版)
- 鋼結(jié)構(gòu)吊裝技術(shù)交底
- 電商平臺定價策略優(yōu)化
- 人美版美術(shù) 二年級下冊全冊教學(xué)設(shè)計(表格式)
- 2024年廣東省廣州市黃埔區(qū)黃埔街道辦事處招聘4人歷年高頻難、易錯點(diǎn)500題模擬試題附帶答案詳解
- 數(shù)學(xué)家祖沖之課件
- 保險經(jīng)紀(jì)人考試題庫含答案
評論
0/150
提交評論