亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Web服務

2019-11-14 15:45:51
字體:
來源:轉載
供稿:網友

  Web服務(Web Services),其實就是一種無須購買并部署的組件,是一種被一次部署到Internet中然后到處可用的一種新型組件,所有應用只需要能夠連入Internet,就可以使用和集成Web服務。

  Web服務基于一套描述軟件通信語法和語義的核心標準。xml提供表示數據的通用語法;簡單對象訪問協議(SOAP)提供數據交換的語義;Web服務描述語言(WSDL)提供描述Web服務功能的機制。其他規范統稱為WS-*體系結構,用于定義Web服務發現、事件、附件、安全性、可靠的消息傳送、事務和管理方面的功能。

  Web服務提供了定義良好的接口,這些接口描述了它所提供的服務,用戶可以通過這些接口來調用Web服務提供的功能。開發者可以通過把遠程服務、本地服務和用戶代碼結合在一起來創建應用程序。

  Web服務既可以在內部由單個應用程序使用,也可通過Internet公開供任意數量的應用程序使用。由于可以通過標準接口訪問,因此Web服務使異構系統能夠作為一個計算網絡協同運行。

  Web服務正在開創一個分布式應用程序開發的新時代。作為Internet的下一個革命性的進步,Web服務將成為把所有計算設備鏈接到一起的基本結構。

  Web服務的設計是基于兼容性很強的開放式標準。為了確保最大限度的兼容性和可擴展性,Web服務體系被建設得盡可能通用。

Web服務的標準如下:

  1.WSDL:告訴客戶端一個Web服務中都提供了什么方法,這些方法包含什么參數、將要返回什么值以及如何與這些方法進行交互。

  2.SOAP:在信息發送到一個Web服務之前,提供對信息進行編碼的標準。

  3.HTTP:所有的Web服務交互發生時所遵循的協議。

  4.DISCO:該標準提供包含對Web服務的鏈接或以一種特殊的途徑來提供Web服務的列表。

  5.UDDI:這個標準提供創建業務的信息。

SOAP

  在.NET中,客戶端在與Web服務交互時有下面三種協議能夠使用:

    1.HTTP GET:使用該協議與Web服務交互時,會把客戶端發送的信息編碼后放在查詢字符串里,而客戶端獲取的Web服務的信息則是以一個基本的XML文檔的形式存在。

    2.HTTP POST:使用該協議與Web服務交互時,會把參數放在請求體里面,而獲取的信息則是以一個基本的XML文檔的形式存在。

    3.SOAP:使用該協議與Web服務交互時,請求和獲取的信息都是以XML形式存在。同HTTP GETHTTP POST一樣,SOAP也是運行于HTTP之上,但它綁定信息則是采用一個更詳細的基于XML的語言來描述。

  盡管.NET有能力支持以上三種協議,但是為了安全,通常會限制使用前兩種協議。默認情況下,.NET禁用HTTP GET,而且對于本地計算機限制HTTP POST。這意味著程序員可以使用前兩種協議測試Web服務,但不能使用它們來訪問一個遠程計算機上的Web服務。可以在Web.Config文件里改變這些設置,但.NET不推薦這樣做。

  從本質上來說,當使用SOAP時,程序員只需要簡單的使用SOAP標準來編碼信息即可。

Web服務交互

  WSDLSOAP標準使得Web服務同客戶端的交互成為可能,但它們沒有說明如何進行交互。以下三個組件在Web服務同客戶端的交互中扮演重要角色:

    1.一個定制的Web服務類,該類提供一些功能。

    2.一個客戶端應用程序,該程序使用上面組件的功能。

    3.一個代理類,該類扮演上面兩個組件間的接口角色。該代理類包含所有Web服務方法的說明,而且根據選擇的協議處理所有與Web服務交互相關的細節問題。

  實際交互過程的執行步驟:

    1.客戶端創建一個代理類的實例。

    2.客戶端調用代理類的方法。

    3.在后臺,代理類以恰當的形式發送信息到Web服務,并且接收相應的反應信息。

    4.代理類返回調用代碼的結果。

  在使用交互過程中需要注意以下內容:

    1.并不是所有的數據類型都支持方法參數和返回值。如大部分.NE類對象都不能在該交互過程中被傳遞(DataSet除外)。

    2.網絡調用花費很少的但可計量的時間。如果需要在一行代碼中使用幾個Web服務方法,則這個延遲會被累加的。

    3.除非Web服務采用特殊步驟來記憶狀態,狀態數據會被丟失的。這意味著程序員應該把Web服務看成是一個無狀態的實用類,而該類包含很多程序員需要使用的方法。

    4.在與Web服務的交互中,會出現錯誤且可能被中斷。程序員在構建一個健壯的應用程序時要考慮到很多因素。

創建Web服務

  創建Web服務的步驟:

    1. 右鍵點擊網站名稱。在彈出的快捷菜單中選擇“添加新項”命令。

    2. 在彈出的“添加新項”選擇“已安裝模板”下的“Visual C#”模板,并在模板文件列表中選中“Web 服務”,然后在“名稱”文本框輸入該文件的名稱“WebService.asmx”,單擊“添加”按鈕。

    3. 在解決方案資源管理器中出現Web服務的文件。

  在asp.net中,所有的Web服務類都會繼承于System.Web.WebService類。該類包含一個構造函數,一般情況下可以不需要改構造函數。

  WebMethod用來提供描述它所標識的方法的接口,WebMethod的屬性如下:

    1.DescriptionWeb服務的方法的描述信息、對Web服務的方法的功能注釋。

    2.Enablesession:指示Web服務是否啟動Session標志,主要通過Cookie完成,默認為false

    3.MessageName:主要實現方法重載后的重命名。

    4.TransactionOption:指示XML Web services方法的事務支持。

    5.CacheDuration:指定緩存時間的屬性。

    6.BufferResponse:配置Web服務的方法是否等到響應被完全緩沖后,才發送信息給請求端。

  創建Web服務中的方法

    利用上述步驟創建Web服務WebService1.asmx,修改WebService1.asmx.cs中的代碼,如下:

 1 using System; 2 using System.Collections.Generic; 3 using System.Data; 4 using System.Data.SqlClient; 5 using System.Linq; 6 using System.Web; 7 using System.Web.Services; 8  9 namespace Webapplication110 {11     /// <summary>12     /// WebService1 的摘要說明13     /// </summary>14     [WebService(Namespace = "http://tempuri.org/")]15     [WebServiceBinding(ConformsTo = WsiPRofiles.BasicProfile1_1)]16     [System.ComponentModel.ToolboxItem(false)]17     // 若要允許使用 ASP.NET Ajax 從腳本中調用此 Web 服務,請取消注釋以下行。 18     // [System.Web.Script.Services.ScriptService]19     public class WebService1 : System.Web.Services.WebService20     {21 22         [WebMethod(Description="獲取學生信息")]23         public DataSet GetStudent(string name)24         {25             if (name == "")26                 return null;27             DataSet dataSet = new DataSet("Student");28             string connString = "Data Source=追風的蝸牛;Initial Catalog=Student;Integrated Security=True";29             string sql = "select * from Student where stuName='" + name + "'";30             SqlConnection sqlConnection = new SqlConnection(connString);31             try32             {33                 SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sql, sqlConnection);34                 sqlConnection.Open();35                 sqlDataAdapter.Fill(dataSet);36                 return dataSet;37             }38             catch39             {40                 sqlConnection.Close();41                 return null;42             }43         }44     }45 }
View Code

  使用存在的Web服務

    右鍵單擊項目名稱,為項目添加服務引用,選擇此解決方案中的Web服務,選擇剛剛創建的Web服務。

    添加頁面Default.aspx,添加一個DetailsView控件,Default.aspx.cs中的代碼如下:

 1 using System; 2 using System.Collections.Generic; 3 using System.Data; 4 using System.Linq; 5 using System.Web; 6 using System.Web.UI; 7 using System.Web.UI.WebControls; 8  9 namespace WebApplication110 {11     public partial class Default : System.Web.UI.Page12     {13         protected void Page_Load(object sender, EventArgs e)14         {15             WebService1 server1 = new WebService1();16             DataSet dataSet = server1.GetStudent("吳彤");17             if (dataSet != null)18             {19                 this.DetailsView1.DataSource = dataSet.Tables[0].DefaultView;20                 this.DetailsView1.DataBind();21             }22         }23     }24 }
View Code

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
大量国产精品视频| 亚洲人成在线观看网站高清| 91精品在线影院| 91网站在线免费观看| 精品高清一区二区三区| 一区二区三区视频观看| 亚洲国产成人在线播放| 96sao精品视频在线观看| 亚洲欧美在线一区| 国产精品成人免费电影| 久久亚洲私人国产精品va| 亚洲精品一区二区三区婷婷月| 中文字幕亚洲欧美日韩高清| 亚洲黄色在线看| 26uuu国产精品视频| 亚洲精品在线视频| 久久99精品视频一区97| 亚洲伊人久久大香线蕉av| 5566日本婷婷色中文字幕97| 97av在线影院| 亚洲第一天堂无码专区| 最新国产精品亚洲| 亚洲专区国产精品| 隔壁老王国产在线精品| 久久精品国产91精品亚洲| 国产精品99久久久久久久久久久久| 国产亚洲精品高潮| 日韩大胆人体377p| 日韩av在线精品| 中文字幕国产日韩| 日韩精品在线私人| 在线视频免费一区二区| 超碰91人人草人人干| 欧美孕妇与黑人孕交| 亚洲人成在线播放| 亚洲白虎美女被爆操| 亚洲天堂网站在线观看视频| 日韩av在线不卡| 久久久久久久久国产| 尤物tv国产一区| 91欧美精品午夜性色福利在线| 国产亚洲一级高清| 国产丝袜精品第一页| 久久久国产一区| 国产视频精品自拍| 午夜精品一区二区三区在线播放| 国产激情久久久久| 欧美高清一级大片| 国产日韩中文字幕| 国产日韩视频在线观看| 伊人久久免费视频| 欧美性猛交xxxx偷拍洗澡| 57pao国产精品一区| 亚洲美女久久久| 国模叶桐国产精品一区| 日韩在线免费av| 亚洲男人天堂网站| 国产日韩欧美中文在线播放| 成人欧美一区二区三区在线湿哒哒| 国产欧美一区二区三区四区| 亚洲欧美另类人妖| 国产精品永久在线| 日韩电影免费在线观看中文字幕| 日韩免费不卡av| 亚洲三级 欧美三级| 欧美激情免费看| 久久久中文字幕| 久久久免费电影| 中文国产成人精品久久一| 亚洲伊人久久综合| 国产精品一区久久久| 91在线精品视频| 亚洲福利视频在线| 国产成人精品在线| 91亚洲国产成人精品性色| 欧美一级大胆视频| 91亚洲一区精品| 久久久久久国产精品美女| 亚洲国产高潮在线观看| 日韩成人免费视频| 欧美日韩视频在线| 亚洲乱码一区av黑人高潮| 国产丝袜一区视频在线观看| 成人在线一区二区| 国产精品久久av| 日韩电影中文 亚洲精品乱码| 亚洲香蕉av在线一区二区三区| 国产精品久久国产精品99gif| 亚洲美女激情视频| 日韩电影网在线| 国产主播欧美精品| 91豆花精品一区| 国产又爽又黄的激情精品视频| 亚洲欧美日韩中文视频| 性色av香蕉一区二区| 欧美一区三区三区高中清蜜桃| 欧美激情视频网站| 91久久久久久久久久久久久| 精品久久久一区二区| 国产欧美日韩精品在线观看| 国产日韩专区在线| 欧美又大又粗又长| 欧美日韩美女在线| 欧美一区二区三区免费视| 精品亚洲永久免费精品| 亚洲精品在线观看www| 少妇久久久久久| 成人精品视频在线| 美女久久久久久久| 欧美激情第一页xxx| 久久久综合av| 国产精品网站入口| 亚洲性猛交xxxxwww| 日韩中文字幕第一页| 疯狂蹂躏欧美一区二区精品| 亚洲跨种族黑人xxx| 国产美女久久精品| 国外成人在线视频| 国产精品免费久久久久影院| 欧美激情xxxxx| 欧美大片第1页| 91中文字幕在线| 亚洲性xxxx| 亚洲欧美激情四射在线日| 国产精品视频精品| 欧美性猛交xxxx乱大交极品| 最近2019年好看中文字幕视频| 77777少妇光屁股久久一区| 亚洲欧美一区二区精品久久久| 亚洲欧洲日韩国产| 精品福利在线视频| 久久国产精品视频| 国产精品综合不卡av| 久久久噜噜噜久久| 国产一区红桃视频| 国语自产精品视频在免费| 欧美激情视频在线免费观看 欧美视频免费一| 国产成人福利视频| 亚洲欧洲av一区二区| 国产欧美一区二区| 亚洲精品久久7777777| 隔壁老王国产在线精品| 亚洲专区在线视频| 亚洲一区www| 久久久亚洲精选| 韩国三级电影久久久久久| 九九视频直播综合网| 久久久久女教师免费一区| 午夜精品久久久久久久99热浪潮| 国产成人午夜视频网址| 欧美午夜视频在线观看| 国产欧美精品va在线观看| 国模私拍一区二区三区| 88国产精品欧美一区二区三区| 日韩欧美在线视频| 欧美日韩成人在线播放| 国产精品一区二区三区毛片淫片| 黑人巨大精品欧美一区二区三区| 亚洲国产福利在线| 成人精品视频在线| 97国产真实伦对白精彩视频8| 欧美亚洲视频在线观看| 国产精品亚洲аv天堂网| 欧美二区在线播放|