다음을 통해 공유


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

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

참고

일부 Visual Studio 사용자 인터페이스 요소의 경우 다음 지침에 설명된 것과 다른 이름 또는 위치가 시스템에 표시될 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio에서 개발 설정 사용자 지정을 참조하세요.

서비스 만들기

WCF 서비스를 만들려면

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

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

    WCF 서비스 라이브러리 프로젝트

    참고

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

  3. IService1 파일

    솔루션 탐색기에서 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 파일

    솔루션 탐색기에서 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);
    }
    

    값 매개 변수의 형식을 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 탭이 표시됩니다.

    GetData() 메서드

  3. 요청 상자에서 필드와 형식 Hello를 선택합니다.

    값 필드

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

    응답 상자의 결과

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

서비스 액세스

WCF 서비스를 참조하려면

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

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

    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