다음을 통해 공유


연습: WCF 서비스 만들기 및 액세스

이 연습에서는 간단한 WCF(Windows Communication Foundation) 서비스를 만들고 테스트한 다음 Windows Forms 응용 프로그램에서 이 서비스에 액세스하는 방법을 보여 줍니다.

참고

다음 지침처럼 컴퓨터에서 Visual Studio 사용자 인터페이스 요소 일부에 대한 이름이나 위치를 다르게 표시할 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.

서비스 만들기

WCF 서비스를 만들려면

  1. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 클릭합니다.

  2. 새 프로젝트 대화 상자에서 Visual Basic 또는 Visual C# 노드를 확장하고 WCFWCF 서비스 라이브러리를 차례로 클릭합니다. 확인을 클릭하여 프로젝트를 엽니다.

    참고

    그러면 테스트하고 액세스할 수 있는 작동 서비스가 만들어집니다. 다음 두 단계에서는 다른 데이터 형식을 사용하도록 기본 메서드를 수정하는 방법을 보여 줍니다. 실제 응용 프로그램에서는 직접 작성한 함수를 서비스에 추가할 수도 있습니다.

  3. 솔루션 탐색기에서 IService1.vb 또는 IService1.cs를 두 번 클릭한 후 다음 줄을 찾습니다.

    <OperationContract()>
    Function GetData(ByVal value As Integer) As String
    
    [OperationContract]
    string GetData(int value);
    

    value 매개 변수의 형식을 String으로 변경합니다.

    <OperationContract()>
    Function GetData(ByVal value As String) As String
    
    [OperationContract]
    string GetData(string value);
    

    위 코드에서 <OperationContract()> 또는 [OperationContract] 특성에 유의하십시오. 이러한 특성은 해당 서비스에서 노출하는 모든 메서드에 필요합니다.

  4. 솔루션 탐색기에서 Service1.vb 또는 Service1.cs를 두 번 클릭한 후 다음 줄을 찾습니다.

    Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData
        Return String.Format("You entered: {0}", value)
    End Function
    
    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }
    

    value 매개 변수의 형식을 String으로 변경합니다.

    Public Function GetData(ByVal value As String) As String Implements IService1.GetData
        Return String.Format("You entered: {0}", value)
    End Function
    
    public string GetData(string value)
    {
        return string.Format("You entered: {0}", value);
    }
    

서비스 테스트

WCF 서비스를 테스트하려면

  1. F5 키를 눌러 서비스를 실행합니다. WCF 테스트 클라이언트 폼이 표시되고 서비스가 로드됩니다.

  2. WCF 테스트 클라이언트 폼에서 IService1 아래의 GetData() 메서드를 두 번 클릭합니다. 그러면 GetData 탭이 표시됩니다.

  3. 요청 상자에서 필드를 선택한 다음 Hello를 입력합니다.

  4. 호출 단추를 클릭합니다. 보안 경고 대화 상자가 표시되면 확인을 클릭합니다. 응답 상자에 결과가 표시됩니다.

  5. 파일 메뉴에서 끝내기를 클릭하여 테스트 폼을 닫습니다.

서비스 액세스

WCF 서비스를 참조하려면

  1. 파일 메뉴에서 추가를 가리킨 다음 새 프로젝트를 클릭합니다.

  2. 새 프로젝트 대화 상자에서 Visual Basic 또는 Visual C# 노드를 확장하고 Windows를 선택한 다음 Windows Forms 응용 프로그램을 선택합니다. 확인을 클릭하여 프로젝트를 엽니다.

  3. WindowsApplication1을 마우스 오른쪽 단추로 클릭하고 서비스 참조 추가를 클릭합니다. 서비스 참조 추가 대화 상자가 나타납니다.

  4. 서비스 참조 추가 대화 상자에서 검색을 클릭합니다.

    서비스 창에 Service1이 표시됩니다.

  5. 확인을 클릭하여 서비스 참조를 추가합니다.

클라이언트 응용 프로그램을 빌드하려면

  1. Windows Forms 디자이너가 아직 열려 있지 않으면 솔루션 탐색기에서 Form1.vb 또는 Form1.cs를 두 번 클릭하여 엽니다.

  2. 도구 상자에서 TextBox 컨트롤, Label 컨트롤 및 Button 컨트롤을 폼으로 끌어 옵니다.

  3. Button을 두 번 클릭한 후 Click 이벤트 처리기에 다음 코드를 추가합니다.

      Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
          Dim client As New ServiceReference1.Service1Client
          Dim returnString As String
    
          returnString = client.GetData(TextBox1.Text)
          Label1.Text = returnString
      End Sub
    
    private void button1_Click(System.Object sender, System.EventArgs e)
    {
        ServiceReference1.Service1Client client = new
            ServiceReference1.Service1Client();
        string returnString;
    
        returnString = client.GetData(textBox1.Text);
        label1.Text = returnString;
    }
    
  4. 솔루션 탐색기에서 WindowsApplication1을 마우스 오른쪽 단추로 클릭하고 시작 프로젝트로 설정을 클릭합니다.

  5. F5 키를 눌러 프로젝트를 실행합니다. 텍스트를 입력하고 단추를 클릭합니다. 그러면 방금 입력한 텍스트와 "을(를) 입력했습니다."가 레이블에 표시됩니다.

참고 항목

기타 리소스

Consuming ASMX and WCF Services Sample