연습: Unified Service Desk에 대한 사용자 지정 호스팅된 컨트롤 만들기

 

게시 날짜: 2016년 11월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

이 항목에서는 사용자 지정 작업을 사용한 사용자 지정 호스팅된 컨트롤인 My Custom Control을 만드는 방법을 배우게 됩니다. 사용자 지정 호스팅된 컨트롤에는 두 개의 Windows Presentation Foundation(WPF) 컨트롤이 있습니다. 하나는 Debugger 호스팅된 컨트롤을 호출하는 단추이고 하나는 사용자 지정 작업 MyCustomAction이 호출될 때 사용자 이름을 표시하는 텍스트 레이블입니다.

이 섹션의 내용

필수 조건

사용자 지정 호스팅된 컨트롤 만들기

사용자 지정 호스팅된 컨트롤 테스트

필수 조건

  • Microsoft .NET Framework 4.5.2

  • Unified Service Desk 클라이언트 응용 프로그램; 호스팅된 컨트롤을 테스트하려면 클라이언트 응용 프로그램이 필요합니다.

  • Microsoft Visual Studio 2012, Visual Studio 2013 또는 Visual Studio 2015

  • NuGetVisual Studio 2012, Visual Studio 2013 또는 Visual Studio 2015용 Nuget 패키지 관리자

  • 사용자 지정 호스팅된 컨트롤 프로젝트 템플릿을 포함하는 Visual Studio용 Microsoft Dynamics 365 SDK 템플릿입니다. 다음 방법 중 하나로 얻을 수 있습니다.

사용자 지정 호스팅된 컨트롤 만들기

  1. Visual Studio를 시작하고 새 프로젝트를 만듭니다.

  2. 새 프로젝트 대화 상자에서:

    1. 설치된 템플릿 목록에서 **Visual C#**을 확장하고 Dynamics 365 템플릿 > Unified Service Desk > USD 사용자 지정 호스팅된 컨트롤을 선택합니다.

    2. .NET Framework 4.5.2이 선택되었는지 확인합니다.

    3. 프로젝트의 위치와 이름을 지정하고 확인을 클릭하여 새 프로젝트를 만듭니다.

    사용자 지정 호스팅된 컨트롤을 만들기 위한 템플릿

  3. 솔루션 탐색기에서 USDControl.xaml 파일을 두 번 클릭하여 XAML 디자이너를 시작합니다.

  4. 디자이너에서 도구 상자에서 다음 컨트롤을 추가합니다.

    • 레이블: 속성 창에서 컨트롤 이름을 “myLabel”로 설정합니다.

    • 단추: 속성 창에서 컨트롤 이름을 “myButton”로, 내용을 “디버거 시작”으로 설정합니다.

    XAML 디자이너에서 표시되는 컨트롤의 모양입니다.

    사용자 지정 컨트롤을 사용하는 XAML 디자이너

  5. 단추를 두 번 클릭하여 XAML 코드 숨김을 추가합니다.USDControl.xaml.cs 파일에 있는 myButton의 클릭 이벤트 정의로 이동합니다. 다음 명령을 추가합니다.

    private void myButton_Click(object sender, RoutedEventArgs e)
    {
        if (!this.desktopAccess.AppExistsInUI("Debugger"))
        {
            this.desktopAccess.CreateDynamicApplication("Debugger");
        }
        this.FireRequestAction(new Microsoft.Uii.Csr.RequestActionEventArgs("Debugger", "default", null));
    }
    
  6. 호스팅된 컨트롤에 대한 사용자 지정 작업을 정의합니다.USDControl.xaml.cs 파일에서 DoAction의 다시 정의로 이동합니다.

    protected override void DoAction(Microsoft.Uii.Csr.RequestActionEventArgs args)
    
  7. DoAction의 다시 정의 내에서 다음 코드를 추가하여 username이라는 매개 변수를 받는 MyCustomAction이라고 하는 사용자 지정 작업을 정의합니다.

    if (args.Action.Equals("MyCustomAction", StringComparison.OrdinalIgnoreCase))
    {
        List<KeyValuePair<string, string>> actionDataList = Utility.SplitLines(args.Data, CurrentContext, localSession);
        string valueIwant = Utility.GetAndRemoveParameter(actionDataList, "username"); // assume there is a myKey=<value> in the data.
    
        if (!string.IsNullOrEmpty(valueIwant))
        {
            this.Dispatcher.Invoke(() => { this.myLabel.Content = valueIwant; });
        }
    }
    

    템플릿은 DoAction의 다시 정의 내에서 대부분의 코드를 주석으로 제공하여 신속하게 개발을 시작할 수 있도록 합니다. 필요한 코드 줄에서 주석을 제거하고 자리 표시자 값을 사용자 값으로 바꾸어야 합니다.

  8. 프로젝트를 저장하고 빌드하여(빌드 > 솔루션 빌드) 성공적으로 빌드되는지 확인합니다.

사용자 지정 호스팅된 컨트롤 테스트

프로젝트가 성공적으로 구축된 후 사용자 지정 호스팅된 컨트롤을 테스트합니다. 테스트는 서버에서 사용자 지정 호스팅된 컨트롤을 정의한 다음 클라이언트 응용 프로그램을 사용하여 서버에서 Unified Service Desk에 연결하는 두 부분으로 구성됩니다.

Dynamics 365 서버에서 사용자 지정 호스팅된 컨트롤 및 작업 정의

  1. Microsoft Dynamics 365에 로그인합니다.

  2. 탐색 모음에서 Microsoft Dynamics 365을 선택하고 설정을 선택합니다.

  3. 설정 > Unified Service Desk > 호스팅된 컨트롤을 선택합니다.

  4. 새로 만들기를 선택하고 다음 그림처럼 새 호스팅된 컨트롤 화면에서 값을 지정합니다.

    새 사용자 지정 호스팅된 컨트롤

    참고

    어셈블리 URI는 어셈블리의 이름이고 어셈블리 유형은 어셈블리의 이름(dll)이며, 점(.)이 뒤에 붙습니다.Visual Studio 프로젝트의 클래스 이름이 뒤에 붙습니다. 이 예제에서 어셈블리의 이름은 MyCustomControl이고 클래스 이름은 USDControl이며, 이는 사용자 지정 호스팅된 컨트롤을 만들 때 기본 클래스 이름입니다.

  5. 저장을 선택하여 호스팅된 컨트롤을 만듭니다.

  6. Visual Studio에서 정의한 호스팅된 컨트롤에 대한 작업을 만듭니다. 탐색 모음에서 호스팅된 컨트롤 이름 옆의 아래쪽 화살표를 선택하고 UII 작업을 선택합니다.

  7. 새 UII 작업 추가를 선택합니다.

  8. 이름 필드에 MyCustomAction을 입력하고 저장을 선택합니다.

이제 Dynamics 365 서버에 사용자 지정 호스팅된 컨트롤과 사용자 지정 작업을 구성했습니다.

Unified Service Desk 클라이언트를 실행하여 사용자 지정 호스팅된 컨트롤 작업 수행

  1. Visual Studio 프로젝트 출력 폴더(<ProjectFolder>\bin\debug)에서 Unified Service Desk 응용 프로그램 디렉터리로 사용자 지정 호스팅된 컨트롤 정의를 포함하는 어셈블리를 복사합니다. 이 경우 MyCustomControl.dll 파일을 c:\Program Files\Microsoft Dynamics CRM USD\USD 디렉터리에 복사합니다.

  2. Unified Service Desk 클라이언트를 실행하여 Dynamics 365 서버에 연결합니다.

  3. 로그인에 성공하면 바탕 화면에 사용자 지정 호스팅된 컨트롤 내 사용자 지정 컨트롤이 표시됩니다.

    사용자 지정 호스팅된 컨트롤

  4. 디버거 시작을 클릭하여 디버거 호스팅된 컨트롤을 시작합니다.

  5. 사용자 지정 작업을 테스트하려면 디버거 탭을 선택한 다음 작업 호출 탭 위의 아래쪽 화살표를 클릭하여 작업 호출과 UII 작업을 테스트할 수 있는 영역을 표시합니다.

    Expanded testing area in debugger

  6. 직접 작업 탭을 선택합니다.

  7. 호스팅된 컨트롤 목록에서 내 사용자 지정 호스팅된 컨트롤을 선택하고 작업 목록에서 MyCustomAction을 선택합니다.

  8. 사용자 지정 작업 정의에 따라 이 작업 호출은 username이라는 매개 변수를 기대하므로, 데이터 필드에서 username=Tracie Hamilton의 값을 추가하겠습니다.

    사용자 지정 호스팅된 컨트롤 테스트

  9. 직접 작업 실행 아이콘(USD 디버거 작업 호출 실행 단추)을 클릭한 다음 내 사용자 지정 호스팅된 컨트롤 탭을 클릭합니다. 레이블 필드에 지정된 사용자 이름이 표시됩니다.

    내 호스트 컨트롤 탭에 사용자 이름 표시

참고 항목

USD 호스팅된 컨트롤(호스팅된 컨트롤)
호스팅된 컨트롤 유형 및 동작/이벤트 참조
Unified Service Desk 구성 연습
Unified Service Desk에서 사용자 지정 호스팅된 컨트롤 사용

Unified Service Desk 2.0

© 2017 Microsoft. All rights reserved. 저작권 정보