Поделиться через


Как создать клиента веб-формы ASP.NET

Этот раздел посвящен технологии прежних версий. Веб-службы XML и клиенты веб-служб XML должны создаваться с использованием Windows Communication Foundation.

Code Example

Веб-форма ASP.NET, действующая как клиент веб-службы, отличается от других клиентов веб-службы по ссылке на прокси-класс и развертыванию. В частности, открытые классы в сборках, развертываемых в каталог \Bin веб-приложения, содержащего веб-форму, могут создаваться из веб-формы ASP.NET. Следовательно, в случае создания прокси-класса клиента веб-службы, компиляции его в сборку и размещении в каталоге \Bin веб-форма ASP.NET может создать экземпляр этого прокси-класса.

Создание клиента веб-формы для веб-службы

  1. Создайте прокси-класс для веб-службы.

    Wsdl https://www.contoso.com/Counter.asmx?WSDL
    
    Wsdl /language:VB https://www.contoso.com/Counter.asmx?WSDL
    

    Дополнительные сведения см. в разделе Создание прокси-класса XML-веб-службы.

Скомпилируйте прокси-класс веб-службы в сборку, содержащую сборки System.Xml.dll и System.Web.Services.dll и прокси-класс, созданный на первом шаге.

csc /out:Counter.dll /t:library /r:System.XML.dll /r:System.Web.Services.dll Counter.cs
vbc /out:Counter.dll /t:library /r:System.XML.dll,System.Web.Services.dll Counter.vb
  1. Создайте веб-форму.

    Дополнительные сведения о создании веб-формы см. в разделе ASP.NET Web Forms Pages.

  2. Создайте в клиентском коде экземпляр прокси-класса в пределах веб-формы.

    Counter myCounter = new Counter();
    
    Dim myCounter As New Counter()
    
  3. Вызовите метод прокси-класса, взаимодействующий с методом веб-службы.

    UsageCount = myCounter.ServiceUsage();
    
    UsageCount = myCounter.ServiceUsage()
    
  4. Выполните развертывание веб-формы. Скопируйте сборку прокси-службы для веб-службы в каталог \Bin веб-приложения, в котором развертывается веб-форма.

    Дополнительные сведения о развертывании веб-формы см. в разделе Deploying .NET Framework Applications.

Пример

 <%@ Page Language="C#" %>
<asp:Label id="Label1" runat="server" />
<script runat=server language=c#>

 void Page_Load(Object o, EventArgs e){

  int UsageCount;
  // Create an instance of the Web service class.
  Counter myCounter = new Counter();
  // Call the Web service method ServiceUsage.
  UsageCount = myCounter.ServiceUsage();

  Label1.BackColor = System.Drawing.Color.DarkSlateBlue;
  Label1.ForeColor = System.Drawing.Color.Gold;
  Label1.BorderStyle = System.Web.UI.WebControls.BorderStyle.Inset;

  // Display the results in a Label Web Form server control.
  if (UsageCount == 1)
       Label1.Text ="Web service has been utilized >" + UsageCount.ToString() + "< time.";
  else   
       Label1.Text= "Web service has been utilized >" + UsageCount.ToString() + "< times.";
}
</script>
<%@ Page Language="VB" %>
<asp:Label id="Label1" runat="server" />
<script runat=server language="VB">

Sub Page_Load(o As Object, e As EventArgs)
    Dim UsageCount As Integer
    ' Create an instance of the Web service class.
    Dim myCounter As New Counter()
    ' Call the Web service method ServiceUsage.
    UsageCount = myCounter.ServiceUsage()
    
    Label1.BackColor = System.Drawing.Color.DarkSlateBlue
    Label1.ForeColor = System.Drawing.Color.Gold
    Label1.BorderStyle = System.Web.UI.WebControls.BorderStyle.Inset
    
    ' Display the results in a Label Web Form server control.
    If UsageCount = 1 Then
        Label1.Text = "Web service has been utilized >" & UsageCount.ToString() & "< time."
    Else
        Label1.Text = "Web service has been utilized >" & UsageCount.ToString() & "< times."
    End If
End Sub
</script>

См. также

Основные понятия

Создание клиентов XML-веб-службы

Другие ресурсы

Создание клиентов для XML-веб-служб