Partilhar via


Procedimentos: Criar um Controlo Alojado WPF do UII

Este procedimento demonstra como pode compilar um controlo alojado do User Interface Integration (UII) baseado no Windows Presentation Foundation (WPF) que interage com aplicações do Unified Service Desk e externas (autónomas e Web).

Neste procedimento, irá:

  • Criar um controlo alojado do UII WPF chamado Controlo Alojado UII WPF de Exemplo, que irá apresentar o nome próprio, apelido, endereço e ID de um contacto quando procurar contactos e clicar no nome de um contacto para o abrir numa sessão no Unified Service Desk. Estes valores são apresentados no contexto do Unified Service Desk.

  • Alterar o nome próprio, apelido ou os valores de endereço numa aplicação externa e numa aplicação Web alojada no Unified Service Desk a partir do controlo alojado UII WPF que criámos. As aplicações externas e Web foram criadas nos seguintes procedimentos anteriores: Procedimentos: Criar um Adaptador de Aplicações do UII e Procedimentos: Criar um Adaptador de Aplicações Web do UII.

  • Notificar alterações ao contexto do Unified Service Desk para atualizar os valores aqui.

Neste Tópico

Pré-requisitos

Passo 1: Criar um controlo alojado UII WPF utilizando o Visual Studio

Passo 2: Definir o controlo alojado no Unified Service Desk

Passo 3: Definir ações do UII para os controlos alojados da aplicação externa e da aplicação Web no Unified Service Desk

Testar o controlo alojado

Pré-requisitos

Passo 1: Criar um controlo alojado UII WPF utilizando o Visual Studio

  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 UII WPF.

    2. Especifique o nome e a localização do projecto e selecione OK para criar um novo projeto.

  3. No Explorador de Soluções, clique com o botão direito do rato no ficheiro UiiWpfControl.xaml e selecione Abrir para apresentar o XAML designer.

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

    Tipo de Controlo Nome Texto

    Etiqueta

    lblFirstName

    Nome Próprio

    Etiqueta

    lblLastName

    Apelido

    Etiqueta

    lblAddress

    Endereço

    Etiqueta

    lblID

    ID

    TextBox

    txtFirstName

    TextBox

    txtLastName

    TextBox

    txtAddress

    TextBox

    txtID

    Button

    btnUpdate

    Atualizar os valores nas aplicações alojadas

    Button

    btnUpdateContext

    Contexto de atualização

    Isto é como os controlos devem ser apresentados no XAML designer.

  5. Faça duplo cloque no botão Atualizar valores em aplicações alojadas (btnUpdate) para adicionar o código parao evento click para este botão e adicione o código seguinte.

    private void btnUpdate_Click(object sender, System.Windows.RoutedEventArgs e)
    {
       // This is how you fire an action to other hosted applications. 
       // The DoAction() code in the other application or application adapter 
       // will be called.
       FireRequestAction(new RequestActionEventArgs("QsExternalApp", "UpdateFirstName", txtFirstName.Text)); // For the external application
       FireRequestAction(new RequestActionEventArgs("QsExternalApp", "UpdateLastName", txtLastName.Text)); // For the external application
       FireRequestAction(new RequestActionEventArgs("QsExternalApp", "UpdateAddress", txtAddress.Text)); // For the external application
    
       FireRequestAction(new RequestActionEventArgs("QsWebApplication", "UpdateFirstName", txtFirstName.Text)); // For the external web application
       FireRequestAction(new RequestActionEventArgs("QsWebApplication", "UpdateLastName", txtLastName.Text)); // For the external web application
       FireRequestAction(new RequestActionEventArgs("QsWebApplication", "UpdateAddress", txtAddress.Text)); // For the external web application
    }
    
  6. Aceda ao XAML e faça duplo clique no botão Atualizar contexto (btnUpdateContext) para adicionar o código para o evento click para este botão. Adicione o código seguinte.

    private void btnContextChange_Click(object sender, System.Windows.RoutedEventArgs e)
    {
       // Get the current context and create a new context object from it.
       string temp = Context.GetContext();
       Context updatedContext = new Context(temp);
    
       // Update the new context with the changed information.
       updatedContext["firstname"] = txtFirstName.Text;
       updatedContext["lastname"] = txtLastName.Text;
       updatedContext["address1_line1"] = txtAddress.Text;
    
       // Notify Unified Service Desk of this new context information.
       FireChangeContext(new ContextEventArgs(updatedContext));
    
       // Notify this UII hosted control about the change.
       NotifyContextChange(updatedContext);
    }
    
  7. No mesmo ficheiro (UiiWpfControl.xaml.cs), atualize a definição manual dop método NotifyContextChange para o seguinte.

    public override void NotifyContextChange(Context context)
    {
       // Populating text fields from context information.
       txtFirstName.Text = context["firstname"];
       txtLastName.Text = context["lastname"];
       txtAddress.Text = context["address1_line1"];
       txtID.Text = context["CustomerID"];
    
       base.NotifyContextChange(context);
    }
    
  8. Guarde e compile o projeto (Compilar > Compilar Solução). Depois de o projeto ser compilado com êxito, é gerada uma assemblagem (ficheiro .dll ) com o mesmo nome do projeto (neste caso, UIIWPFHostedControl1.dll) na pasta /bin/debug do projeto.

  9. Copie este ficheiro para o diretório de instalação de aplicações cliente do Unified Service Desk (normalmente C:\Program Files\Microsoft Dynamics CRM USD\USD). Este ficheiro é necessário para testar e eventual utilizar este controlo a partir da aplicação cliente.

    TipSugestão
    Tenha em atenção o nome da classe utilizada para compilar o controlo alojado do UII no ficheiro UiiWpfControl.xaml.cs. Neste caso, é UiiWpfControl. Irá necessitar destas informações no passo seguinte.

Passo 2: Definir o controlo alojado no Unified Service Desk

Para alojar o controlo alojado UII WPF no Unified Service Desk, terá de defini-lo e configurá-lo.

  1. Iniciar sessão no Microsoft Dynamics CRM.

  2. Na barra de navegação, selecione Microsoft Dynamics CRM > Definições > Unified Service Desk.

  3. Na página Unified Service Desk, selecione Controlos Alojados.

  4. Na página Controlos Alojados, escolha Novo.

  5. Na página de Novo Controlo Alojado, especifique os seguintes valores.

    Campo Valor

    Nome

    UIIWPFHostedControl

    Nome a Apres.

    Exemplo de Controlo Alojado de formulários do UII Windows

    Tipo de Componente do USD

    Aplicação Alojada da CCA

    Aplicação Alojada

    Controlo Alojado

    A Aplicação é Global

    Selecionado

    Grupo de Apresentação

    MainPanel

    Adaptador

    Não Utilizar Adaptador

    URI da Assemblagem

    UIIWPFHostedControl1

    Tipo de Assemblagem

    UIIWPFHostedControl1.UiiWpfControl

    Nota

    URI da Assemblagem é o nome da assemblagem e o Tipo de Assemblagem é o nome da sua assemblagem seguido por por um ponto (.) e pelo nome da classe no projeto do Visual Studio. Neste exemplo, o nome da assemblagem é UIIWPFHostedControl1 e o nome da classe é UiiWpfControl, que é o nome de classe predefinida quando cria um controlo alojado UII WPF.

  6. Escolha Guardar para criar o controlo alojado.

Passo 3: Definir ações do UII para os controlos alojados da aplicação externa e da aplicação Web no Unified Service Desk

Os adaptadores para as aplicações autónoma externa e Web expõem as três ações seguintes:UpdateFirstName, UpdateLastName e UpdateAddress. Estes adaptadores e os controlos alojados para as aplicações autónoma externa e Web foram criados nos procedimentos anteriores (Procedimentos: Criar um Adaptador de Aplicações do UII e Procedimentos: Criar um Adaptador de Aplicações Web do UII).

Para actualizar informações em aplicações externas a partir do controlo alojado Formulários do Windows do UII, terá de definir três ações do UII com o mesmo nome definido anteriormente nos adaptadores para cada uma das aplicações externas. Nos procedimentos anteriores (Procedimentos: Criar um Adaptador de Aplicações do UII e Procedimentos: Criar um Adaptador de Aplicações Web do UII), definimos os dois controlos alojados seguintes no Unified Service Desk para apresentar as aplicações externas no Unified Service Desk: QsExternalApp e QsExternalWebApplication. Neste passo, vamos adicionar três ações do UII para cada controlo alojado.

Importante

Se já adicionou as ações do UII como parte do passo 3 de Procedimentos: Criar um Controlo Alojado Formulários do Windows do UII, não necessita de executar este passo. Pode avançar para a secção seguinte para testar o controlo alojado.

  1. Iniciar sessão no Microsoft Dynamics CRM.

  2. Na barra de navegação, selecione Microsoft Dynamics CRM > Definições > Unified Service Desk.

  3. Na página Unified Service Desk, selecione Controlos Alojados.

  4. Na página Controlos Alojados procure QSExternalApp e abra-o para edição.

  5. Na página QSExternalApp, escolha a seta existente junto do nome do controlo alojado e escolha Ações do UII.

  6. Na página seguinte, escolha Adicionar Nova Acção do UII.

  7. Na página Nova Ação de UII, introduza o nome como UpdateFirstName e escolha Guardar e Fechar. Isto adiciona a ação na página anterior.

  8. Da mesma forma, adicione as duas ações seguintes: UpdateLastName e UpdateAddress. As três ações ficam disponíveis para o controlo alojado QSExternalApp.

  9. Siga os passos 4 a 8 para criar três ações do UII com os mesmos nomes para QSExternalWebApp.

Testar o controlo alojado

Antes de testar o controlo alojado UII WPF, certifique-se de que a aplicação Web de exemplo está em execução para que seja composta no Unified Service Desk.

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

  2. Após iniciar sessão com êxito, verá três controlos alojados: Controlo Alojado UII WPF de Exemplo, Aplicação Web Externa de Exemplo e Aplicação Externa de Exemplo.

  3. Escolha Procurar e selecione Contactos. Escolha qualquer contacto para apresentar os detalhes do contacto numa sessão. Isto também apresenta o nome próprio, apelido, endereço e ID do registo do contacto atualmente apresentado nos três controlos de exemplo:

  4. Altere os valores em Controlo Alojado UII WPF de Exemplo e clique em Atualizar valores em aplicações alojadas para atualizar os valores nas outras duas aplicaçõe externas.

  5. Em Controlo Alojado UII WPF de Exemplo, escolha Atualizar contexto para atualizar as informações de contexto no Unified Service Desk.

Consulte Também

Tarefas

Procedimentos: Criar um Controlo Alojado Formulários do Windows do UII

Conceitos

Integração com aplicações externas e aplicações Web
Ações do UII

Outros Recursos

Utilizar controlos alojados do UII com o Unified Service Desk

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