Partager via


Procédure pas à pas : créer une application Web qui se connecte à Microsoft Dynamics CRM 2015 à l’aide des extensions développeur

 

Date de publication : novembre 2016

S’applique à : Dynamics CRM 2015

Cette procédure pas-à-pas montre comment écrire une application Web simple qui se connecte à Microsoft Dynamics CRM 2015 et effectue une transaction de contact de création simple.

Vous trouverez l’exemple de code que génère cette procédure dans le dossier Sdk\Walkthroughs\Portal\WebAppWalkthrough.

Contenu de la rubrique

Générer des types à liaison anticipée

Configurer votre projet d’applications Web dans Visual Studio

Créer une page Web – Grille de contact 1

Créer une autre page Web – Grille de contact 2

Créer un service de données WCF

Créer une page Web – Formulaire de contact 1

Créer une autre page Web – Grille de contact 3

Générer des types à liaison anticipée

  1. Exécutez l’outil CrmSvcUtil.exe, avec l’extension Microsoft.Xrm.Client.CodeGeneration, pour générer vos classes d’entité et contextes de service. L’exemple de commande suivant crée un fichier nommé « Xrm.cs » qui pointe vers une instance de Microsoft Dynamics 365. Notez que le fichier Microsoft.Xrm.Client.CodeGeneration.dll doit se trouver dans le même répertoire que le fichier CrmSvcUtil.exe, ou dans le Global Assembly Cache du système, lorsque vous exécutez cette commande. La première commande indiquée ici s’applique à une organisation locale tandis que la deuxième commande s’applique à une organisation CRM Online. Les deux commandes doivent être exécutées en tant que ligne de commande unique sans sauts de ligne.

    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
    

    Conseil

    L’outil CrmSvcUtil est disponible dans le dossier Bin du téléchargement SDK ou en installant le package NuGetMicrosoft.CrmSdk.CoreTools.

Configurer votre projet d’applications Web dans Visual Studio

  1. Créez un projet d’application Web ASP.NET dans Microsoft Visual Studio. Cet exemple utilise « WebAppWalkthrough » comme nom du projet.

    Créer une application Web dans Visual Studio

  2. Ajoutez les références suivantes à partir du dossier SDK\bin. Vous pouvez ignorer cette étape et la suivante en installant simplement le package NuGetMicrosoft.CrmSdk.Extensions.

    • 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. Ajoutez les références suivantes à partir du .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. Cliquez avec le bouton droit sur le projet dans Visual Studio, cliquez sur Ajouter, puis cliquez sur Élément existant.

  5. Sélectionnez le fichier « xrm.cs » créé lorsque vous avez généré les types à liaison anticipée.

  6. Modifiez le fichier web.config pour inscrire la section <microsoft.xrm.client>. Vous devez ajouter une section dans le nœud configSections de la configuration indiquée ci-dessous.

    <configuration>
      <configSections>
        <section name="microsoft.xrm.client"
          type="Microsoft.Xrm.Client.Configuration.CrmSection, Microsoft.Xrm.Client" />
    
  7. Modifiez le fichier web.config avec vos chaîne et contexte de connexion spécifiques. Pour la chaîne de connexion, définissez le nom sur « Xrm ». Dans la section <microsoft.xrm.client>, ajoutez un contexte portant le nom « Xrm » et définissez le type de l’espace de noms et le nom du contexte de service que vous avez fournis à l’étape 1 lors la configuration du projet d’application Web. Dans l’exemple suivant, il s’agit de Xrm.XrmServiceContext, et la partie de l’assembly du type est le nom de votre application 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. Ajoutez ce qui suit à la section <controls> du fichier web.config pour inscrire les contrôles Microsoft.Xrm.Portal avec cette application Web.

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

Créer une page Web – Grille de contact 1

Créez une page Web de base qui affiche tous les contacts de votre système Dynamics 365 dans une grille de données ASP.NET.

  1. Cliquez avec le bouton droit sur votre projet et ajoutez un formulaire Web nommé « WebForm_LinqDataSource.aspx ».

  2. Ajoutez ce qui suit à la nouvelle page 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. Créez le projet.

  4. Cliquez avec le bouton droit sur la page aspx, puis sélectionnez Afficher dans le navigateur. Les résultats doivent ressembler à ce qui suit :

    Afficher dans le navigateur

Créer une autre page Web – Grille de contact 2

Créez une page Web de base qui affiche tous les contacts de votre système Dynamics 365 dans une grille de données ASP.NET en fonction d’une définition de vue Dynamics 365.

  1. Cliquez avec le bouton droit sur votre projet et ajoutez un formulaire Web nommé « WebForm_SavedQueryDataSource.aspx ».

  2. Ajoutez ce qui suit à la nouvelle page aspx.

    <crm:SavedQueryDataSource ID="ActiveContacts" SavedQueryName="Active Contacts" runat="server" />
    <asp:GridView DataSourceID="ActiveContacts" runat="server" />
    
  3. Créez le projet.

  4. Cliquez avec le bouton droit sur la page aspx, puis sélectionnez Afficher dans le navigateur. Cette page utilisera la définition de vue « Contacts actifs » pour retourner les enregistrements et afficher les attributs de la vue dans un contrôle ASP.NET GridView. Les résultats doivent ressembler à ce qui suit :

    Afficher dans le navigateur

Créer un service de données WCF

Créez un service de données WCF pour Microsoft Dynamics 365.

  1. Cliquez avec le bouton droit sur votre projet et ajoutez un nouveau service de données WCF nommé « CrmData.svc » :

    Créer un service de données

  2. Vous devez pointer le service de données WCF au niveau du XrmServiceContext créé au début de la procédure pas-à-pas. Modifiez le fichier CrmData.svc.cs comme suit :

    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;
            }
        }
    }
    

Créer une page Web – Formulaire de contact 1

Créez une page Web qui affiche un formulaire de saisie de données de contact à partir d’une définition de vue Microsoft Dynamics 365 :

  1. Dans Dynamics 365, accédez à Paramètres, Personnalisations et Personnaliser le système. Créez une vue pour l’entité contact intitulée « Créer un contact Webform ».

    Créer une page Web

  2. Ajoutez des colonnes à la vue que vous souhaitez faire apparaître dans les champs du formulaire généré.

  3. Cliquez sur Enregistrer et publier.

  4. Cliquez avec le bouton droit sur votre projet Web dans Microsoft Visual Studio et ajoutez un nouveau formulaire Web nommé « WebForm_FromSavedQuery.aspx ».

  5. Ajoutez le code suivant à la nouvelle page 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. Créez le projet.

  7. Cliquez avec le bouton droit sur la page aspx, puis cliquez sur Afficher dans le navigateur. Les résultats doivent ressembler à ce qui suit :

    Afficher dans le navigateur

Créer une autre page Web – Grille de contact 3

Créez une page Web qui utilise le code permettant de connecter une source de données Microsoft Dynamics 365 à un contrôle ASP.NET GridView.

  1. Cliquez avec le bouton droit sur votre projet et ajoutez une page Web nommée « WebForm_CodeBehindDataSource.aspx ».

  2. Ajoutez le code suivant à la nouvelle page 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. Modifiez le fichier de code d’arrière-plan WebForm_CodeBehind.aspx.cs comme suit :

    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. Créez le projet.

  5. Cliquez avec le bouton droit sur la page aspx, puis cliquez sur Afficher dans le navigateur. Les résultats doivent ressembler à ce qui suit :

    Afficher dans le navigateur

Voir aussi

Guide destiné aux développeurs du portail pour Microsoft Dynamics CRM 2015
Procédures pas-à-pas du portail pour Dynamics CRM 2015

© 2017 Microsoft. Tous droits réservés. Copyright