http://shaocian.blogspot.tw/2013/06/iis-web-service-aspnet.html
這裡我們要撰寫一支 ASP.NET 程式來呼叫 Web Service。
同樣的我們要新增一個專案,選擇 Web -> ASP.NET 空白 Web 應用程式
新增一個 WebForm
簡單設定測試頁面之後存檔,aspx 程式碼如下:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm.aspx.vb" Inherits="WebApplication.WebForm" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
基本頁面設置好後,需要加入服務參考
設定位址為 Web Service 的網址,點選「移至」就會帶出提供的服務。
設計好版面及服務參考後,接下來就是開始撰寫程式碼:
Public Class WebForm
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim ws As ServiceReference1.WebServiceSoapClient = New ServiceReference1.WebServiceSoapClient()
Dim result As String
Dim a As Integer = Integer.Parse(TextBox1.Text)
Dim b As Integer = Integer.Parse(TextBox2.Text)
result = ws.Test(a, b)
ws.Close()
Label1.Text = result
End Sub
End Class
程式解釋:
主要就是建立一個 Web Service 的 Client 端物件,然後再去呼叫該物件提供的方法。
ServiceReference1 就是我們設定服務參考時的名稱,只要我們要存取該服務就要生成該物件,也可以在「方案總管」中點選 ServiceReference1 ,然後按右鍵 -> 重新命名,改成好記的名子例如 LocalWebService
此時程式碼就必須修改為
Dim ws As LocalWebService.WebServiceSoapClient = New LocalWebService.WebServiceSoapClient()
執行畫面及結果
輸入 3 及 8 後,顯示的是經過 Web Service 伺服器端運算後的結果,也就是 8
以上就是整個完整的 Web Service 服務設置及呼叫的範例。






沒有留言:
張貼留言