다음을 통해 공유


워크스루: .NET Framework Windows Forms에서 WCF 서비스 생성하기

이 연습에서는 WCF(Windows Communication Foundation) 서비스를 만들고 테스트한 다음 .NET Framework Windows Forms 애플리케이션에서 액세스하는 방법을 보여 줍니다.

비고

이 문서의 지침은 Visual Studio에서 사용할 수 있는 IDE(대화형 개발 환경)의 최신 버전을 보여 줍니다. 컴퓨터에 일부 사용자 인터페이스 요소에 대한 다른 이름 또는 위치가 표시될 수 있습니다. 다른 버전의 Visual Studio 또는 다른 환경 설정을 사용할 수 있습니다. 자세한 내용은 IDE 개인 설정참조하세요.

필수 조건

Windows Communication Foundation 구성 요소가 설치된 Visual Studio. 설치하려면 다음을 수행합니다.

  1. Visual Studio 설치 관리자 앱을 열거나 Visual Studio 메뉴에서 도구>및 기능 가져오기를 선택합니다.
  2. Visual Studio 설치 관리자에서 수정하려는 Visual Studio 버전 옆에 있는 수정을 선택합니다.
  3. 개별 구성 요소 탭을 선택한 다음 개발 작업에서 Windows Communication Foundation을 선택합니다.
  4. 을(를) 선택하고을(를) 수정합니다.

자세한 내용은 Visual Studio 워크로드, 구성 요소 및 언어 팩 수정을 참조하세요.

WCF 서비스 만들기

Visual Studio에서 WCF 서비스를 만들려면 다음 단계를 수행합니다.

  1. Visual Studio의 메뉴에서>프로젝트 파일을> 선택합니다.

  2. 새 프로젝트 만들기 페이지의 검색 상자에 wcf 서비스 라이브러리를 입력합니다. WCF 서비스 라이브러리의 C# 또는 Visual Basic 템플릿을 선택하고 다음을 선택합니다.

    Visual Studio에서 WCF 서비스 라이브러리 프로젝트를 만드는 방법을 보여 주는 스크린샷

    팁 (조언)

    템플릿이 표시되지 않으면 Visual Studio의 Windows Communication Foundation 구성 요소를 설치해야 할 수 있습니다. 자세한 내용은 필수 구성 요소를 참조하세요.

  3. 새 프로젝트 구성 페이지에서 설정을 확인한 다음 만들기를 선택합니다.

    이 단계에서는 테스트하고 액세스할 수 있는 작동하는 WCF 서비스를 만듭니다. 다음 단계에서는 다른 데이터 형식을 사용하도록 기본 메서드를 수정하는 방법을 보여 줍니다. 실제 애플리케이션에서는 사용자 고유의 함수도 서비스에 추가합니다.

  4. 솔루션 탐색기에서 만든 프로젝트 유형에 따라 WCF 서비스 라이브러리 프로젝트에서 IService1.cs 두 번 클릭하거나 IService1.vb.

    솔루션 탐색기의 IService1 파일을 보여 주는 스크린샷

  5. 다음 줄을 찾습니다.

    [OperationContract]
    string GetData(int value);
    

  1. 매개 변수의 형식을 value 문자열로 변경합니다.

    이 코드 예제에서는 OperationContract 특성을 주목하십시오. 이 특성은 서비스에서 노출하는 모든 메서드에 필요합니다.

    [OperationContract]
    string GetData(string value);
    

  1. 솔루션 탐색기에서 Service1.cs 두 번 클릭하거나 Service1.vb.

    솔루션 탐색기의 Service1 파일을 보여 주는 스크린샷

  2. 편집기에서 다음 줄을 찾습니다.

    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }
    

  1. 다음과 같이 매개 변수의 형식을 value 문자열로 변경합니다.

    public string GetData(string value)
    {
        return string.Format("You entered: {0}", value);
    }
    

WCF 서비스 테스트

만든 WCF 서비스를 테스트하려면 다음 단계를 수행합니다.

  1. F5 키를 눌러 서비스를 실행합니다.

    WCF 테스트 클라이언트 양식이 나타나고 서비스를 로드합니다.

  2. IService1에서 GetData() 메서드를 두 번 클릭합니다.

    GetData 탭이 WCF 테스트 클라이언트 양식에 나타납니다.

    WCF 테스트 클라이언트 양식의 GetData 메서드를 보여 주는 스크린샷

  3. GetData 탭의 요청 상자에서 필드를 선택하고 Hello를 입력합니다.

    GetData 탭의 값 필드를 보여 주는 스크린샷

  4. 호출 단추를 선택합니다. 보안 경고 대화 상자가 나타나면 확인을 선택합니다.

    결과는 응답 상자에 표시됩니다.

    GetData 탭의 응답 상자에 표시된 결과를 보여 주는 스크린샷.

  5. [파일] 메뉴에서 [종료]를 선택하여 테스트 양식을 닫습니다.

WCF 서비스에 액세스

WCF 서비스를 만들고 테스트한 후 프로젝트에서 참조하고 이를 사용하여 클라이언트 애플리케이션을 빌드할 수 있습니다.

WCF 서비스 참조

프로젝트에서 WCF 서비스를 참조하려면 다음 단계를 수행합니다.

  1. 파일> 새프로젝트추가>를 선택합니다.

  2. 새 프로젝트 추가 창에서 C# 또는 Visual Basic Windows Forms 앱(.NET Framework) 프로젝트를 선택합니다. 다음을 선택한 다음 만들기를 선택하여 프로젝트를 만듭니다.

  3. 솔루션 탐색기에서 새 프로젝트의 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고서비스 참조추가>를 선택합니다.

    서비스 참조 추가 대화 상자가 나타납니다.

  4. 검색을 선택합니다.

    서비스 참조 추가 대화 상자를 보여 주는 스크린샷.

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

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

클라이언트 애플리케이션 빌드

WCF 서비스 참조를 사용하여 클라이언트 애플리케이션을 빌드하려면 다음 단계를 수행합니다.

  1. 솔루션 탐색기에서 Windows Forms 앱에서 Form1.cs 두 번 클릭하거나 Form1.vb.

    양식이 Windows Forms 디자이너에서 열립니다.

  2. 메뉴에서도구 상자보기를> 선택하여 도구 상자를 열거나 키보드에서 Ctrl+Alt+X를 누릅니다.

  3. 도구 상자에서 TextBox 컨트롤, 레이블 컨트롤 및 단추 컨트롤을 폼으로 끕니다.

    클라이언트 애플리케이션 양식에 컨트롤을 추가하는 방법을 보여 주는 스크린샷

  4. 단추 컨트롤을 두 번 클릭하고 이벤트 처리기에 다음 코드를 Click 추가합니다.

    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;
    }
    
  5. 솔루션 탐색기에서 프로젝트 노드(예: WindowsFormsApp1)를 마우스 오른쪽 단추로 클릭하고 시작 프로젝트로 설정을 선택합니다.

  6. F5 키를 눌러 프로젝트를 실행합니다. 일부 텍스트를 입력하고 단추를 선택합니다. 레이블에는 입력한 내용:이 표시된 후에 사용자가 입력한 텍스트가 따라옵니다.

    실행 중인 클라이언트 애플리케이션 양식에 표시된 결과를 보여 주는 스크린샷