什麼是web service?
WebService也叫XML Web Service WebService,是一種可以接收從Internet或者Intranet上的其它系統中傳遞
過來的請求的技術。
Webservice 是一種分布式的調用服務,多個用戶端可以通過web配置來調用釋出的服務。
Webservices是建立可互操作的分布式應用程式的新平台。它向外界暴露出一個能夠通過Web進行調用的API。也
就是說,你能夠用程式設計的方法通過Web來調用這個應用程式。
WebServic 很重要,但不被經常使用,它更多的是一種分布服務的方式,是以對它了解就好了。
工作原理:
Web 服務端提供的是服務或功能,繼面向對象後,面向服務形成了新的特色。例如請求天氣預報服務,如今很
多手機、小網站等小成本的經營者都可以進行天氣的預報,這是因為氣象站将天氣的預報的服務釋出了出去,隻要符
合一定條件就都可以調用這個服務。簡單說就是web服務就是一個URL資源,用戶端可以調用這個服務。
Web服務體系結構由三部分組成:服務提供者、服務綁定者、服務請求者。提供者将服務釋出出去,請求者進行
服務請求,綁定者将兩者相結合。

建立web service :
步驟:1.在服務端建立web項目,并且添加web服務(.asmx檔案)。并且在.asmx檔案内寫入方法A,最後釋出或本
地浏覽。
2.在用戶端建立web項目,添加服務引用—進階—添加web引用,在其中的URL位址中輸入服務端釋出的位址。
3.在用戶端的建立web網頁中的代碼頁中,執行個體化添加的web引用後就可以調用服務端寫的方法A。
建立服務端:
打開VS 建立項目:
添加web服務:
服務端方法A代碼:
namespace WebSerivceManager
{
///<summary>
/// WebServiceDemo的摘要說明
///</summary>
[WebService(Namespace ="http://tempuri.org/")]
[WebServiceBinding(ConformsTo =WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允許使用 ASP.NET AJAX從腳本中調用此 Web 服務,請取消注釋以下行。
// [System.Web.Script.Services.ScriptService]
public class WebServiceDemo : System.Web.Services.WebService
{
//web服務自帶的方法
[WebMethod]
public string HelloWorld()
{
return "HelloWorld";
}
[WebMethod]
//建立新的方法SupStar
public string SupStar(String User)
{
return User + ":恭喜你成功調用服務端釋出的supstar方法";
}
}
}
釋出成功可見:
建立用戶端:
建立項目:
添加web引用:(添加服務引用—進階—添加web引用)輸入URL:
用戶端建立網頁,寫入簡單代碼:
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title></title>
</head>
<body>
<formid="form1" runat="server">
<div>
<asp:LabelID="Label" runat="server" Text="姓名:"></asp:Label>
<asp:TextBoxID="shuru" runat="server" Width="343px"Height="41px"></asp:TextBox>
</div>
<br>
<br>
<div>
<asp:ButtonID="Button" runat="server" Text="調用"/>
<asp:TextBoxID="xianshi" runat="server" Height="41px"Width="351px"></asp:TextBox>
</div>
</form>
</body>
</html>
新網頁對應的代碼頁:
namespace WebSerivceClient
{
public partial class WebDemoClient : System.Web.UI.Page
{
protected void Button_Click(object sender, EventArgs e)
{
//執行個體化服務引用
WebSerivceDemo.WebServiceDemo web =new WebSerivceDemo.WebServiceDemo();
//擷取輸入框的字元
string user = this.shuru.Text;
//指派給顯示框
this.xianshi.Text =web.SupStar(user);
}
}
}
效果:
總結:
對于web Service 的初學者來說,難點在于用戶端對服務引用的執行個體化,如何在用戶端去調用到釋出的服務是關
鍵。自己在第一次建立的時候都不知道去執行個體化哪一個對象,迷糊的不妨跟着建立過程走一遍,一遍就清除了。
另外web Service 感覺和WCF很類似,都是釋出服務然後客戶調用,那麼這兩者之間有什麼聯系呢,請坐等下次
分析。