방법: ASP.NET Web Form 클라이언트 만들기

이 항목은 레거시 기술과 관련된 것입니다. 이제 XML Web services와 XML Web services 클라이언트는 다음을 사용하여 만들어야 합니다. Windows Communication Foundation.

Code Example

웹 서비스 클라이언트 역할을 하는 ASP.NET Web Form의 프록시 클래스는 다른 웹 서비스 클라이언트와는 다른 방식으로 참조되고 배포됩니다. 특히 Web Form을 포함하는 웹 응용 프로그램의 \Bin 디렉터리에 배포되는 어셈블리의 공용 클래스를 ASP.NET Web Form에서 만들 수 있습니다. 따라서 웹 서비스 클라이언트 프록시 클래스를 만들어 어셈블리로 컴파일한 다음 \Bin 디렉터리에 저장한 경우 ASP.NET Web Form에서 프록시 클래스의 인스턴스를 만들 수 있습니다.

웹 서비스에 대한 Web Form 클라이언트를 만들려면

  1. 웹 서비스에 대한 프록시를 만듭니다.

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

    자세한 내용은 XML Web services 프록시 만들기를 참조하십시오.

System.Xml.dll 및 System.Web.Services.dll 어셈블리와 1단계에서 만든 프록시를 포함하여 웹 서비스 프록시를 어셈블리로 컴파일합니다.

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. Web Form을 만듭니다.

    Web Form을 만드는 방법에 대한 자세한 내용은 ASP.NET Web Forms Pages를 참조하십시오.

  2. 클라이언트 코드에서 Web Form 내에 프록시 클래스의 인스턴스를 만듭니다.

    Counter myCounter = new Counter();
    
    Dim myCounter As New Counter()
    
  3. 웹 서비스 메서드와 통신하는 프록시 클래스의 메서드를 호출합니다.

    UsageCount = myCounter.ServiceUsage();
    
    UsageCount = myCounter.ServiceUsage()
    
  4. Web Form을 배포합니다. Web Form이 배포되는 웹 응용 프로그램 아래의 \Bin 디렉터리에 웹 서비스 프록시 어셈블리를 배포합니다.

    Web Form 배포에 대한 자세한 내용은 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 Web services 클라이언트 빌드

기타 리소스

XML Web services에 대한 클라이언트 만들기