2013年6月16日 星期日

ASP.NET(VB) 呼叫 Web Service 範例

關於 Web Service 及建置方式請參考以下文章:
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 服務設置及呼叫的範例。

沒有留言:

張貼留言