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
Microsoft.NET Framework 4.5.2
Aplicação cliente Unified Service Desk. Isto é necessário para testar o controlo alojado.
Microsoft Visual Studio 2012 ou Visual Studio 2013
Gestor de Pacotes NuGet para Visual Studio 2012 ou 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 WPF. Poderá obter o modelo de uma das seguintes formas:
Transfira o modelo do CRM SDK. Faça duplo clique no ficheiro CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.
Transfira e extraia o pacote do CRM SDK. Aceda à pasta SDK\Templates. Faça duplo clique no ficheiro
CRMSDKTemplates.vsix
para instalar o modelo no Visual Studio.
Tem de ter concluído o Procedimentos: Criar um Adaptador de Aplicações do UII e Procedimentos: Criar um Adaptador de Aplicações Web do UII para garantir que tem as aplicações Web e externa configuradas com os adpatadores para facilitar a interação com as aplicações.
Passo 1: Criar um controlo alojado UII WPF utilizando o Visual Studio
Inicie o Visual Studio e crie um novo projeto.
Na caixa de diálogo Novo Projeto:
Na lista de modelos instalados, expanda Visual c#, selecione Modelos do CRM SDK > Unified Service Desk > Controlo Alojado UII WPF.
Especifique o nome e a localização do projecto e selecione OK para criar um novo projeto.
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.
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.
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 }
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); }
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); }
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.
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.
Sugestã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.
Iniciar sessão no Microsoft Dynamics CRM.
Na barra de navegação, selecione Microsoft Dynamics CRM > Definições > Unified Service Desk.
Na página Unified Service Desk, selecione Controlos Alojados.
Na página Controlos Alojados, escolha Novo.
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.
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.
Iniciar sessão no Microsoft Dynamics CRM.
Na barra de navegação, selecione Microsoft Dynamics CRM > Definições > Unified Service Desk.
Na página Unified Service Desk, selecione Controlos Alojados.
Na página Controlos Alojados procure QSExternalApp e abra-o para edição.
Na página QSExternalApp, escolha a seta existente junto do nome do controlo alojado e escolha Ações do UII.
Na página seguinte, escolha Adicionar Nova Acção do UII.
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.
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.
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.
Execute o cliente do Unified Service Desk para ligar ao servidor do CRM.
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.
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:
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.
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.