Partilhar via


Criar um controlo alojado personalizado do Unified Service Desk

Pode desenvolver controlos alojados do Unified Service Desk personalizados se tiver uma necessidade especial que não seja resolvido pelos tipos de controlo alojado predefinidos. o Microsoft Dynamics CRM fornece um modelo do Visual Studio para criar um controlo alojado personalizado do Unified Service Desk. O modelo modelo fornece código básico como comentário para ajudá-lo a começar a trabalhar rapidamente com a criação de um controlo alojado personalizado.

Como os controlos alojados predefinidos, os controlos alojados personalizados do Unified Service Desk também são derivados da classe DynamicsBaseHostedControl.

Neste tópico, irá aprender a criar um controlo alojado personalizado chamado My Custom Control com uma ação personalizada. O controlo alojado personalizado tem dois controlos do Windows Presentation Foundation (WPF) (WPF): um botão que chama o controlo alojado Debugger e uma etiqueta de texto que apresenta o nome de utilizador quando uma ação personalizada, MyCustomAction, é chamada.

Nesta Secção

Pré-requisitos

Criar um controlo alojado personalizado

Teste o controlo alojado personalizado

Pré-requisitos

  • Microsoft.NET Framework 4.5.2

  • Aplicação cliente do Unified Service Desk; a aplicação cliente é necessária para testar o controlo alojado.

  • Microsoft Visual Studio 2012 ou Visual Studio 2013

  • NuGet Package Manager para Visual Studio 2012 or Visual Studio 2013

  • Modelos do Microsoft Dynamics CRM SDK para o Visual Studio que contêm o modelo de projeto de controlo alojado do UII personalizado. Poderá obtê-la numa das seguintes formas:

Criar um controlo alojado personalizado

  1. Inicie o Visual Studio e crie um novo projeto.

  2. Na caixa de diálogo Novo Projeto:

    1. Na lista de modelos instalados, expanda Visual c#, selecione Modelos do CRM SDK > Unified Service Desk > Controlo Alojado Personalizado do USD.

    2. Certifique-se de que o .NET Framework 4.5.2 está selecionado.

    3. Especifique o nome e a localização do projecto e clique em OK para criar um novo projeto.

    Template for creating a custom hosted control

  3. No Explorador de Soluções, faça duplo clique no ficheiro USDControl.xaml para chamar o XAML designer.

  4. No designer, adicione os controlos seguintes da Caixa de ferramentas:

    • Etiqueta: No painel Propriedades, defina o nome do controlo como “myLabel.”

    • Botão: No painel Propriedades, defina o nome do controlo como “myButton” e o conteúdo como “Start Debugger.”

    Isto é o aspeto dos controlos no XAML designer.

    XAML designer with custom controls

  5. Faça duplo clique no botão para adicionar subjacente ao XAML. Isto irá levá-lo para a definição de evento de clique de myButton no ficheiro USDControl.xaml.cs. Adicione o seguinte comando.

    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. Defina uma ação personalizada para o controlo alojado. No ficheiro USDControl.xaml.cs, navegue para a definição manual de DoAction.

    protected override void DoAction(Microsoft.Uii.Csr.RequestActionEventArgs args)
    
  7. Adicione o seguinte código na definição manual de DoAction para definir uma ação personalizada denominada MyCustomAction que aceita um parâmetro chamado username.

    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; });
        }
    }
    
    TipSugestão
    O modelo fornece a maioria de código como o comentário na definição manual de DoAction para ajudá-lo a começar a trabalhar rapidamente com o desenvolvimento. Necessita de anular o comentário da linha de código necessária e substituir os valores de marcador de posição pelos seus valores.

  8. Guarde o projeto e compile-o (Criar > Criar Solução) para verificar se é criado com êxito.

Teste o controlo alojado personalizado

Após o projeto ser compilado com êxito, teste o controlo alojado personalizado. O teste consiste em duas duas partes: definir o controlo alojado personalizado no servidor e ligar ao Unified Service Desk no servidor utilizando a aplicação cliente.

Definir o controlo alojado personalizado e a ação no servidor do CRM

  1. Iniciar sessão no Microsoft Dynamics CRM.

  2. Na barra de navegação, escolha Microsoft Dynamics CRM e seleccione Definições.

  3. Escolha Definições > Unified Service Desk > Controlos Alojados.

  4. Escolha NOVO e especifique valores no ecrã Novo Controlo Alojado conforme apresentado aqui.

    New custom hosted control

    Nota

    URI da Assemblagem é o nome dsa assemblagem e o Tipo de Assemblagem é o nome da sua assemblagem (dll) seguinte por por um ponto (.) e seguida pelo nome da classe no projeto do Visual Visual Studio. Neste exemplo, o nome da assemblagem é MyCustomControl e o nome da classe USDControl, que é o nome de classe predefinida quando cria um controlo alojado personalizado.

  5. Escolha Guardar para criar o controlo alojado.

  6. Crie a ação para o controlo alojado que definiu no Visual Studio. Na barra de navegação, selecione a seta para baixo existente junto do nome do controlo alojado e selecione Ações do UII.

  7. Escolha Adicionar nova ação do UII.

  8. Escreva MyCustomAction no campo Nome e escolha Guardar.

Configurou agora o controlo alojado personalizado e a ação personalizada no servidor do CRM.

Execute o cliente unificado de secretária para trabalhar o controlo alojado personalizado

  1. Copie a assemblagem que contém a definição do controlo alojado personalizado da pasta de saída do projeto do Visual StudioVisual Studio (ProjectFolder\bin\debug) para o diretório da aplicação do Unified Service Desk. Neste caso, irá copiar o ficheiro MyCustomControl.dll para o diretório c:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Execute o cliente do Unified Service Desk para ligar ao servidor do CRM.

  3. Quando iniciar sessão com êxito, verá o controlo alojado personalizado, O meu controlo alojado personalizado, no ambiente de trabalho.

    Custom hosted control

  4. Clique em Iniciar Depurador para iniciar o controlo alojado Depurador.

  5. Para testar a ação personalizada, selecione o separador Depurador e clique na seta para baixo no separador Chamadas de ação para apresentar a área onde pode testar chamadas de ação e ações do UII.

    Expanded testing area in debugger

  6. Escolha o separador Ação direta.

  7. Na lista Controlo alojado, selecione O meu controlo alojado personalizado e, na lista Ação, selecione MyCustomAction.

  8. Segundo a definição de ação personalizada, esta chamada de ação de espera um parâmetro chamado username. Vamos adicionar o seguinte valor no campo Dados: username=Tracie Hamilton.

    Test your custom hosted control

  9. Clique no ícone de Executar ação direta (Run button) e clique no separador O meu controlo alojado personalizado. O nome de utilizador especificado é apresentado no campo etiqueta.

    My Custom Host Control tab shows username

Consulte Também

Conceitos

Controlo Alojado USD (Controlo Alojado)

Outros Recursos

Tipos de controlos alojados e referência de ações e eventos
Procedimentos de configuração do Unified Service Desk
Expandir o Unified Service Desk

Unified Service Desk
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.