ServiceReference Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Regista um serviço Web para utilização numa página Web.
public ref class ServiceReference
public class ServiceReference
type ServiceReference = class
Public Class ServiceReference
- Herança
-
ServiceReference
Exemplos
O exemplo seguinte demonstra como adicionar uma referência a um serviço Web na marcação de página para chamar os métodos do serviço Web a partir do script.
<%@ 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>
Observações
Para chamar métodos de serviço Web a partir de ECMAScript (JavaScript), deve incluir uma referência de serviço na página ASP.NET e aplicar o atributo ScriptServiceAttribute à definição da classe de serviço Web. Se incluir uma referência de serviço a um serviço Web no controlo ScriptManager ou ScriptManagerProxy dentro da página ASP.NET, os objetos JavaScript serão instanciados no navegador.
Os objetos proxy serão usados para fazer o seguinte:
Faça pedidos assíncronos em JavaScript para métodos de serviço Web,
Inicializar instâncias de proxies dos tipos de dados do servidor, em particular para uso como parâmetros de entrada para invocação de métodos Web.
Note
O ServiceReference controlo só pode ser usado para serviços no mesmo domínio.
Pode definir a localização do serviço Web de forma declarativa adicionando um <asp:ServiceReference> elemento ao <Services> elemento dentro do <asp:ScriptManager> elemento na página e depois definindo o seu Path atributo, como mostrado no exemplo seguinte.
<asp:ScriptManager runat="server" ID="scriptManager">
<Services>
<asp:ServiceReference Path="~/WebServices/SimpleWebService.asmx" />
</Services>
</asp:ScriptManager>
Pode usar a InlineScript propriedade para indicar se o script de geração de proxy está incluído na página como um bloco de script inline ou se é obtido por um pedido separado.
Também pode adicionar programaticamente um ServiceReference objeto através da ScriptManager.Services coleção ou ScriptManagerProxy.Services usando o Add método da ServiceReferenceCollection classe.
Construtores
| Name | Description |
|---|---|
| ServiceReference() |
Inicializa uma nova instância da ServiceReference classe. |
| ServiceReference(String) |
Inicializa uma nova instância da ServiceReference classe com um caminho especificado. |
Propriedades
| Name | Description |
|---|---|
| InlineScript |
Recebe ou define um valor que indica se o script de geração de proxy está incluído na página como um bloco de script inline ou se é obtido por um pedido separado. |
| Path |
Obtém ou define o caminho do serviço Web referenciado. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetProxyScript(ScriptManager, Control) |
Fornece um script proxy a partir de um objeto derivado ServiceReference que pode ser sobreposto como personalização. |
| GetProxyUrl(ScriptManager, Control) |
Fornece uma URL proxy a partir de um objeto derivado ServiceReference que pode ser sobreposta como personalização. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o valor da Path propriedade ou o nome do tipo. |