WebService的簡單部署
Webservice概念
Web Services是由企業發佈的完成其特定商務需求的在線應用服務,其他公司或應用軟件能夠通過Internet來訪問並使用這項在線服務。
它是一種構建應用程序的普遍模型,可以在任何支持網絡通信的操作系統中實施運行;它是一種新的web應用程序分支,是自包含、自描述、模塊化的應用,可以發佈、定位、通過web調用。Web Service是一個應用組件,它邏輯性的爲其他應用程序提供數據與服務.各應用程序通過網絡協議和規定的一些標準數據格式(Http,XML,Soap)來訪問Web Service,通過Web Service內部執行得到所需結果.Web Service可以執行從簡單的請求到複雜商務處理的任何功能。一旦部署以後,其他Web Service應用程序可以發現並調用它部署的服務。
在構建和使用Web Service時,主要用到以下幾個關鍵的技術和規則:
1.XML:描述數據的標準方法.
2.SOAP:表示信息交換的協議.
3.WSDL:Web服務描述語言.
4.UDDI(Universal Description, Discovery and Integration):通用描述、發現與集成,它是一種獨立於平臺的,基於XML語言的用於在互聯網上描述商務的協議。
1.創建WebService
新建一個ASP.NET Web 服務
添加一些代碼,這裏寫了一個查詢了數據庫的方法,返回了XmlDataDocument
public XmlDataDocument GetPeopleList(string name)
{
string str = "select * from T_Teacher where teachername='" + name + "'";
DataSet ds = SqlHelper.QuerySql(str);
XmlDataDocument xd = new XmlDataDocument();
if (ds.Tables[0].Rows.Count == 0)//沒有查詢到任何記錄
{
string xml = "<NewDataSet>無數據</NewDataSet>";
xd.LoadXml(xml);
}
else
{
xd = new XmlDataDocument(ds);
}
return xd;
}
2.部署WebService
生成項目,再發布這個網站到IIS
得到服務頁面的地址 http://localhost:8901/ServiceA.asmx
3.調用WebService
新建另一個網站,
添加Web引用
URL爲上一步驟得到的服務頁面的地址 http://localhost:8901/ServiceA.asmx
點擊添加引用
項目中會多出這些
再看代碼調用
protected void btn_ws_Click(object sender, EventArgs e)
{
//服務在這裏作爲一個類來使用
WebServiceA.ServiceA sa = new WebServiceA.ServiceA();
XmlNode xn = sa.GetPeopleList(TextBox2.Text);
DataSet ds = new DataSet();
XmlDataDocument xd = new XmlDataDocument();
StringBuilder xmlString1 = new StringBuilder(xn.OuterXml);
xd.LoadXml(xmlString1.ToString());
//這裏用到了XmlDataDocument向DataSet轉換
//在創建WebService裏用到的是將DataSet向XmlDataDocument轉換
//可以記住這個轉換方法,很有用
ds.ReadXml(new XmlNodeReader(xd));
//將數據綁定到控件
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind();
}
下面是調用結果: