Procedimentos: Criar um Controlo Alojado Formulários do Windows do UII
Este procedimento demonstra como pode compilar um controlo alojado de Formulários do Windows User Interface Integration (UII) que interage com o Unified Service Desk e aplicações autónomas ou Web externas.
Neste procedimento, irá:
Crie um controlo alojado de Formulários do Windows User Interface Integration (UII), Controlo Alojado Formulários do Windows UII 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 Formulários do Windows UII que criámos. As aplicações externas e Web foram criadas nos 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 de Formulários do Windows UII 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 do Unified Service Desk; necessária 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 de Formulários do Windows UII. Poderá obtê-la numa 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 a aplicação Web e externa configuradas com os adaptadores respetivos para facilitar a interação com as aplicações.
Passo 1: Criar um controlo alojado de Formulários do Windows UII 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 de Formulários do Windows UII.
Especifique o nome e a localização do projecto e clique em OK para criar um novo projeto.
No painel Explorador de Soluções, clique com o botão direito do rato no ficheiro UiiWinformControl.cs e selecione Abrir para apresentar o designer de Formulários do Windows.
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 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, EventArgs 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 à vista de design, faça duplo clique no botão Atualizar contexto (btnUpdateContext) para adicionar o código para o evento para este botão. Adicione o código seguinte.
private void btnUpdateContext_Click(object sender, EventArgs 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 (UiiWinformControl.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, UIIWindowsFormHostedConrol1.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 UiiWinformControl.cs. Neste caso, é UiiWinformControl. Irá necessitar destas informações no passo seguinte.
Passo 2: Definir o controlo alojado no Unified Service Desk
Para alojar o controlo alojado Formulários do Windows UII 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, clique em Controlos Alojados.
Na página Controlos Alojados, clique em Novo.
Na página de Novo Controlo Alojado, especifique os seguintes valores:
Campo Valor Nome
UIIWindowsFormHostedControl
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
UIIWindowsFormHostedControl1
Tipo de Assemblagem
UIIWindowsFormHostedControl1.UiiWinformControl
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 é UIIWindowsFormHostedControl1 e o nome da classe é UiiWinformControl, que é o nome de classe predefinida quando cria um controlo alojado de Formulários do Windows UII.
Clique em 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 de adaptadores 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 WPF 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 , clique na seta existente junto do nome do controlo alojado e clique em Ações do UII.
Na página seguinte, clique em Adicionar Nova Acção do UII.
Introduza o nome como UpdateFirstName e clique em Guardar e Fechar. Isto irá adicionar a ação na página anterior.
Da mesma forma, adicione as duas ações seguintes: UpdateLastName and 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 o controlo alojado QsExternalWebApp.
Testar o controlo alojado
Antes de testar o controlo alojado de Formulários do Windows UII, 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 de Formulários do Windows UII 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, conforme mostrado na ilustração seguinte.
Altere os valores em Controlo Alojado de Formulários do Windows UII de Exemplo e clique em Atualizar valores em aplicações alojadas para atualizar os valores nas outras duas aplicaçõe externas.
Em Controlo Alojado de Formulários do Windows UII de Exemplo, clique em Atualizar contexto para atualizar as informações de contexto no Unified Service Desk.
Consulte Também
Tarefas
Procedimentos: Criar um Controlo Alojado WPF 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.