Как создать клиента веб-формы ASP.NET
Этот раздел посвящен технологии прежних версий. Веб-службы XML и клиенты веб-служб XML должны создаваться с использованием Windows Communication Foundation.
Code Example
Веб-форма ASP.NET, действующая как клиент веб-службы, отличается от других клиентов веб-службы по ссылке на прокси-класс и развертыванию. В частности, открытые классы в сборках, развертываемых в каталог \Bin веб-приложения, содержащего веб-форму, могут создаваться из веб-формы ASP.NET. Следовательно, в случае создания прокси-класса клиента веб-службы, компиляции его в сборку и размещении в каталоге \Bin веб-форма ASP.NET может создать экземпляр этого прокси-класса.
Создание клиента веб-формы для веб-службы
Создайте прокси-класс для веб-службы.
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
Создайте веб-форму.
Дополнительные сведения о создании веб-формы см. в разделе ASP.NET Web Forms Pages.
Создайте в клиентском коде экземпляр прокси-класса в пределах веб-формы.
Counter myCounter = new Counter();
Dim myCounter As New Counter()
Вызовите метод прокси-класса, взаимодействующий с методом веб-службы.
UsageCount = myCounter.ServiceUsage();
UsageCount = myCounter.ServiceUsage()
Выполните развертывание веб-формы. Скопируйте сборку прокси-службы для веб-службы в каталог \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-веб-службы