Condividi tramite


Procedura dettagliata: sviluppare un'applicazione Web che si connette a Microsoft Dynamics CRM 2015 tramite le estensioni per sviluppatori

Data di pubblicazione: novembre 2016

Si applica a: Dynamics CRM 2015

La procedura dettagliata illustra come scrivere un'applicazione Web semplice che si connette a Microsoft Dynamics CRM 2015 ed esegue una transazione crea contatto di base.

È possibile trovare il codice di esempio che tale procedura dettagliata produce nella cartella Sdk\Walkthroughs\Portal\WebAppWalkthrough.

In questo argomento

Generare tipi con associazione anticipata

Impostare il progetto dell'applicazione Web in Visual Studio

Creare pagina Web - Griglia 1 dei contatti

Creare un'altra pagina Web - Griglia 2 dei contatti

Creare un servizio dati WCF

Creare pagina Web - Modulo 1 dei contatti

Creare un'altra pagina Web - Griglia 3 dei contatti

Generare tipi con associazione anticipata

  1. Eseguire lo strumento CrmSvcUtil.exe, con l'estensione Microsoft.Xrm.Client.CodeGeneration, per generare le classi dell'entità e i contesti del servizio. Il seguente comando di esempio crea un file denominato "Xrm.cs" che punta a un'istanza di Microsoft Dynamics 365. Si noti che quando si esegue questo comando, il file Microsoft.Xrm.Client.CodeGeneration.dll deve trovarsi nella stessa directory del file CrmSvcUtil.exe o nella Global Assembly Cache del sistema. Il primo comando indicato è per un'organizzazione locale mentre il secondo comando è per un'organizzazione CRM Online. Entrambi i comandi deve essere eseguita come singola riga di comando senza interruzioni di riga.

    CrmSvcUtil.exe 
    /codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration" 
    /out:Xrm\Xrm.cs 
    /url:http://Crm/Contoso/XRMServices/2011/Organization.svc 
    /domain:CONTOSO 
    /username:administrator 
    /password:pass@word1 
    /namespace:Xrm 
    /serviceContextName:XrmServiceContext
    
    CrmSvcUtil.exe
    /codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration"
    /out:Xrm.cs /url:https://<mydomain>.api.crm.dynamics.com/XRMServices/2011/Organization.svc
    /username:<myusername>@<mydomain>.onmicrosoft.com /password:<mypassword> /namespace:Xrm /serviceContextName:XrmServiceContext
    

Suggerimento

Lo strumento di CrmSvcUtil è disponibile nella cartella Bin del download di SDK o installando il pacchetto Microsoft.CrmSdk.CoreToolsNuGet.

Impostare il progetto dell'applicazione Web in Visual Studio

  1. Creare un nuovo progetto dell'applicazione Web ASP.NET in Microsoft Visual Studio. In questo esempio viene utilizzato "WebAppWalkthrough" come nome del progetto.

    Crea applicazione Web in Visual Studio

  2. Aggiungere i seguenti riferimenti dalla cartella SDK\bin. È possibile ignorare questo passaggio e il successivo semplicemente installando il pacchetto Microsoft.CrmSdk.ExtensionsNuGet.

    • AntiXSSLibrary.dll

    • Microsoft.Crm.Sdk.Proxy.dll

    • Microsoft.Xrm.Client.dll

    • Microsoft.Xrm.Portal.dll

    • Microsoft.Xrm.Portal.Files.dll

    • Microsoft.Xrm.Sdk.dll

  3. Aggiungere i seguenti riferimenti da .NET.

    • System.IdentityModel.dll

    • Microsoft.Data.Entity.dll

    • System.Data.Services.dll

    • System.Data.Services.Client.dll

    • System.Runtime.Caching.dll

    • System.Runtime.Serialization.dll

  4. Fare clic con il pulsante destro del mouse sul progetto in Visual Studio, fare clic su Aggiungi e quindi su Elemento esistente.

  5. Selezionare il file "xrm.cs" creato quando sono stati generati i tipi con associazione anticipata.

  6. Modificare il file web.config per registrare la sezione <microsoft.xrm.client>. È necessario aggiungere una sezione nel nodo configSections della configurazione come illustrato di seguito.

    <configuration>
      <configSections>
        <section name="microsoft.xrm.client"
          type="Microsoft.Xrm.Client.Configuration.CrmSection, Microsoft.Xrm.Client" />
    
  7. Modificare il file web.config con la stringa di connessione e il contesto specifici. Per la stringa di connessione, impostare il nome su "Xrm". Nella sezione <microsoft.xrm.client> aggiungere un contesto con il nome "Xrm" e impostare il tipo con il nome del contesto del servizio e dello spazio dei nomi specificati nel passaggio 1 al momento della configurazione del progetto dell'applicazione Web. Nel seguente esempio è Xrm.XrmServiceContext e la parte dell'assembly del tipo è il nome dell'applicazione Web, "WebAppWalkthrough".

    <connectionStrings>
      <add name="Xrm" connectionString="Server=http://crm/contoso; Domain=CONTOSO; Username=Administrator; Password=pass@word1" />
    </connectionStrings>
    <microsoft.xrm.client>
      <contexts>
        <add name="Xrm" type="Xrm.XrmServiceContext, WebAppWalkthrough" />
      </contexts>
    </microsoft.xrm.client>
    
  8. Aggiungere le operazioni seguenti alla sezione web.config**<controls>** del file per registrare i comandi Microsoft.Xrm.Portal con l'applicazione Web.

    <system.web>
      <pages>
        <controls>
          <add tagPrefix="crm" namespace="Microsoft.Xrm.Portal.Web.UI.WebControls" assembly="Microsoft.Xrm.Portal" />
    

Creare pagina Web - Griglia 1 dei contatti

Creare una pagina Web di base in cui vengono visualizzati tutti i contatti nel sistema Dynamics 365 in una griglia dei dati di ASP.NET.

  1. Fare clic con il pulsante destro del mouse sul progetto e aggiungere un nuovo modulo Web denominato "WebForm_LinqDataSource.aspx".

  2. Aggiungere le operazioni seguenti alla nuova pagina ASPX:

    <!--This example lists all contacts from the Microsoft Dynamics CRM system. -->
    <asp:LinqDataSource ID="Contacts" ContextTypeName="Xrm.XrmServiceContext" TableName="ContactSet" runat="server" />
    <asp:GridView DataSourceID="Contacts" AutoGenerateColumns="false" runat="server">
        <Columns>
            <asp:TemplateField HeaderText="First Name">
                <ItemTemplate>
                    <asp:Label Text='<%# Eval("firstname")%>' runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Last Name">
                <ItemTemplate>
                    <asp:Label Text='<%# Eval("lastname")%>' runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="City">
                <ItemTemplate>
                    <asp:Label Text='<%#Eval("address1_city") %>' runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
    
  3. Creare un progetto.

  4. Fare clic con il pulsante destro del mouse sulla pagina ASPX e selezionare Visualizza nel browser. I risultati saranno analoghi ai seguenti:

    Visualizza nel browser

Creare un'altra pagina Web - Griglia 2 dei contatti

Creare una pagina Web di base in cui vengono visualizzati i contatti nel sistema Dynamics 365 in una griglia dei dati di ASP.NET basata su una definizione delle visualizzazioni del Dynamics 365.

  1. Fare clic con il pulsante destro del mouse sul progetto e aggiungere un nuovo modulo Web denominato "WebForm_SavedQueryDataSource.aspx".

  2. Aggiungere le operazioni seguenti alla nuova pagina ASPX.

    <crm:SavedQueryDataSource ID="ActiveContacts" SavedQueryName="Active Contacts" runat="server" />
    <asp:GridView DataSourceID="ActiveContacts" runat="server" />
    
  3. Creare un progetto.

  4. Fare clic con il pulsante destro del mouse sulla pagina ASPX e selezionare Visualizza nel browser. Questa pagina utilizzerà la definizione di visualizzazione "Contatti attivi" per restituire i record e visualizzare gli attributi della visualizzazione in un comando GridView di ASP.NET. I risultati saranno analoghi ai seguenti:

    Visualizza nel browser

Creare un servizio dati WCF

Creare un servizio dati WCF per Microsoft Dynamics 365.

  1. Fare clic con il pulsante destro del mouse sul progetto e aggiungere un nuovo servizio dati WCF denominato "CrmData.svc":

    Crea servizio dati

  2. È necessario puntare al servizio dati WCF in corrispondenza di XrmServiceContext creato all'inizio della procedura dettagliata. Modificare il file CrmData.svc.cs come segue:

    namespace WebAppWalkthrough
    {
        public class CrmData : DataService<Xrm.XrmServiceContext>
        {
            // This method is called only once to initialize service-wide policies.
            public static void InitializeService(DataServiceConfiguration config)
            {
                config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
                config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
                config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
            }
        }
    }
    

Creare pagina Web - Modulo 1 dei contatti

Creare una pagina Web che esegue il rendering di un modulo di immissione dati dei contatti in base a una definizione di visualizzazione di Microsoft Dynamics 365 :

  1. In Dynamics 365 accedere a Impostazioni, Personalizzazioni e Personalizza il sistema. Creare una nuova visualizzazione per l'entità contact denominata "Crea modulo Web dei contatti".

    Crea pagina Web

  2. Aggiungere colonne alla visualizzazione che si desidera che venga visualizzata come campi nel modulo generato.

  3. Fare clic su Salva e pubblica.

  4. Fare clic con il pulsante destro del mouse sul progetto Web in Microsoft Visual Studio e aggiungere un nuovo modulo Web denominato "WebForm_FromSavedQuery.aspx".

  5. Aggiungere il codice seguente alla nuova pagina ASPX.

    <asp:ScriptManager runat="server" />
    <crm:CrmDataSource ID="Contacts" runat="server" />
    <crm:CrmEntityFormView DataSourceID="Contacts" EntityName="contact" SavedQueryName="Create Contact Web Form" runat="server" />
    
  6. Creare un progetto.

  7. Fare clic con il pulsante destro del mouse sulla pagina ASPX e selezionare Visualizza nel browser. I risultati saranno analoghi ai seguenti:

    Visualizza nel browser

Creare un'altra pagina Web - Griglia 3 dei contatti

Creare una pagina Web che utilizza codice nascosto per connettere un'origine dati di Microsoft Dynamics 365 a un comando GridView di ASP.NET.

  1. Fare clic con il pulsante destro del mouse sul progetto e aggiungere un nuovo modulo Web denominato "WebForm_CodeBehindDataSource.aspx".

  2. Aggiungere il codice seguente alla nuova pagina ASPX.

    <asp:GridView ID="ContactsGridView" AutoGenerateColumns="false" runat="server">
        <Columns>
            <asp:TemplateField HeaderText="First Name">
                <ItemTemplate>
                    <asp:Label Text='<%# Eval("firstname")%>' runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Last Name">
                <ItemTemplate>
                    <asp:Label Text='<%# Eval("lastname") %>' runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="City">
                <ItemTemplate>
                    <asp:Label Text='<%# Eval("address1_city") %>' runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
    
  3. Modificare il file codice nascosto WebForm_CodeBehind.aspx.cs come segue:

    using System;
    using System.Linq;
    using Xrm;
    
    namespace WebAppWalkthrough
    {
        public partial class WebForm_CodeBehind : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                var xrm = new XrmServiceContext("Xrm");
    
                //Use all contacts where the email address ends in @example.com.
                var exampleContacts = xrm.ContactSet
                    .Where(c => c.EMailAddress1.EndsWith("@example.com"));
    
                ContactsGrid_CodeBehind.DataSource = exampleContacts;
                ContactsGrid_CodeBehind.DataBind();
            }
        }
    }
    
  4. Creare un progetto.

  5. Fare clic con il pulsante destro del mouse sulla pagina ASPX e selezionare Visualizza nel browser. I risultati saranno analoghi ai seguenti:

    Visualizza nel browser

Vedere anche

Guida per sviluppatori del portale per Microsoft Dynamics CRM 2015
Procedure dettagliate dei portali per Dynamics CRM 2015

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright