ServiceReference 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
註冊 Web 服務以便於網頁中使用。
public ref class ServiceReference
public class ServiceReference
type ServiceReference = class
Public Class ServiceReference
- 繼承
-
ServiceReference
範例
下列範例示範如何在頁面標記中新增 Web 服務的參考,以從腳本呼叫 Web 服務方法。
<%@ Page Language="C#" %>
<!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 id="Head1" runat="server">
<style type="text/css">
body { font: 11pt Trebuchet MS;
font-color: #000000;
padding-top: 72px;
text-align: center }
.text { font: 8pt Trebuchet MS }
</style>
<title>Calling Web Methods</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:ScriptManager runat="server" ID="scriptManagerId">
<Scripts>
<asp:ScriptReference Path="Scripts.js" />
</Scripts>
<Services>
<asp:ServiceReference Path="WebService.asmx" />
</Services>
</asp:ScriptManager>
<div>
<h2>Calling Web Methods</h2>
<table>
<tr align="left">
<td>Method that does not return a value:</td>
<td>
<!-- Getting no retun value from
the Web service. -->
<button id="Button1"
onclick="GetNoReturn()">No Return</button>
</td>
</tr>
<tr align="left">
<td>Method that returns a value:</td>
<td>
<!-- Getting a retun value from
the Web service. -->
<button id="Button2"
onclick="GetTime(); return false;">Server Time</button>
</td>
</tr>
<tr align="left">
<td>Method that takes parameters:</td>
<td>
<!-- Passing simple parameter types to
the Web service. -->
<button id="Button3"
onclick="Add(20, 30); return false;">Add</button>
</td>
</tr>
<tr align="left">
<td>Method that returns XML data:</td>
<td>
<!-- Get Xml. -->
<button id="Button4"
onclick="GetXmlDocument(); return false;">Get Xml</button>
</td>
</tr>
<tr align="left">
<td>Method that uses GET:</td>
<td>
<!-- Making a GET Web request. -->
<button id="Button5"
onclick="MakeGetRequest(); return false;">Make GET Request</button>
</td>
</tr>
</table>
</div>
</form>
<hr/>
<div>
<span id="ResultId"></span>
</div>
</body>
</html>
<%@ Page Language="VB" %>
<!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 id="Head1" runat="server">
<style type="text/css">
body { font: 11pt Trebuchet MS;
font-color: #000000;
padding-top: 72px;
text-align: center }
.text { font: 8pt Trebuchet MS }
</style>
<title>Calling Web Methods</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:ScriptManager runat="server" ID="scriptManagerId">
<Scripts>
<asp:ScriptReference Path="Scripts.js" />
</Scripts>
<Services>
<asp:ServiceReference Path="WebService.asmx" />
</Services>
</asp:ScriptManager>
<div>
<h2>Calling Web Methods</h2>
<table>
<tr align="left">
<td>Method that does not return a value:</td>
<td>
<!-- Getting no retun value from
the Web service. -->
<button id="Button1"
onclick="GetNoReturn()">No Return</button>
</td>
</tr>
<tr align="left">
<td>Method that returns a value:</td>
<td>
<!-- Getting a retun value from
the Web service. -->
<button id="Button2"
onclick="GetTime(); return false;">Server Time</button>
</td>
</tr>
<tr align="left">
<td>Method that takes parameters:</td>
<td>
<!-- Passing simple parameter types to
the Web service. -->
<button id="Button3"
onclick="Add(20, 30); return false;">Add</button>
</td>
</tr>
<tr align="left">
<td>Method that returns XML data:</td>
<td>
<!-- Get Xml. -->
<button id="Button4"
onclick="GetXmlDocument(); return false;">Get Xml</button>
</td>
</tr>
<tr align="left">
<td>Method that uses GET:</td>
<td>
<!-- Making a GET Web request. -->
<button id="Button5"
onclick="MakeGetRequest(); return false;">Make GET Request</button>
</td>
</tr>
</table>
</div>
</form>
<hr/>
<div>
<span id="ResultId"></span>
</div>
</body>
</html>
備註
若要從 ECMAScript (JavaScript) 呼叫 Web 服務方法,您必須在 ASP.NET 頁面中包含服務參考,並將 屬性套用 ScriptServiceAttribute 至 Web 服務類別定義。 如果您在 ASP.NET 頁面內的 或 ScriptManagerProxy 控制項中包含 ScriptManager Web 服務的服務參考,JavaScript 物件將會在瀏覽器中具現化。
Proxy 物件將用來執行下列動作:
在 JavaScript 中對 Web 服務方法提出異步要求,
初始化伺服器數據類型 Proxy 的實例,特別是用於做為叫用 Web 方法的輸入參數。
注意
控制件 ServiceReference 只能用於相同網域中的服務。
您可以宣告方式定義 Web 服務位置,方法是將元素新增 <asp:ServiceReference>
至 <Services>
頁面上元素內的 <asp:ScriptManager>
元素,然後設定其 Path 屬性,如下列範例所示。
<asp:ScriptManager runat="server" ID="scriptManager">
<Services>
<asp:ServiceReference Path="~/WebServices/SimpleWebService.asmx" />
</Services>
</asp:ScriptManager>
您可以使用 InlineScript 屬性來指出 Proxy 產生腳本是否包含在頁面中做為內嵌腳本區塊,還是由個別要求取得。
您也可以使用 Add 類別的 ServiceReferenceCollection 方法,透過或 ScriptManagerProxy.Services 集合,以程序設計方式新增 ServiceReference 物件ScriptManager.Services。
建構函式
ServiceReference() |
初始化 ServiceReference 類別的新執行個體。 |
ServiceReference(String) |
使用指定的路徑來初始化 ServiceReference 類別的新執行個體。 |
屬性
InlineScript |
取得或設定值,以指出是否要將 Proxy 產生指令碼包含在頁面中做為內嵌指令碼區塊,以及個別要求是否能取得該指定碼。 |
Path |
取得或設定參考 Web 服務的路徑。 |
方法
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetProxyScript(ScriptManager, Control) |
從可覆寫為自訂項目的衍生 ServiceReference 物件提供 Proxy 指令碼。 |
GetProxyUrl(ScriptManager, Control) |
從衍生的 ServiceReference 物件提供的 Proxy URL 可以覆寫為自訂項目。 |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回字串,表示 Path 屬性或型別名稱的值。 |