Del via


Gennemgang: Opbygge et webprogram, som opretter forbindelse til Microsoft Dynamics CRM 2015 ved hjælp af udviklerudvidelser

 

Udgivet: november 2016

Gælder for: Dynamics CRM 2015

I denne gennemgang demonstreres det, hvordan du skriver et enkelt webprogram, som opretter forbindelse til Microsoft Dynamics CRM 2015 og udfører en grundlæggende kontaktskabende transaktion.

Du kan finde den eksempelkode, som denne gennemgang producerer, i mappen Sdk\Walkthroughs\Portal\WebAppWalkthrough.

Dette emne indeholder

Generer tidligt bundne typer

Konfigurer dit webprogramprojekt i Visual Studio

Opret en webside – kontaktgitter 1

Opret endnu en webside – kontaktgitter 2

Opret en WCF-datatjeneste

Opret en webside – kontaktformular 1

Opret endnu en webside – kontaktgitter 3

Generer tidligt bundne typer

  1. Kør værktøjet CrmSvcUtil.exe med udvidelsen Microsoft.Xrm.Client.CodeGeneration for at oprette dine objektklasser og servicekontekster. Følgende eksempelkommando opretter en fil kaldet "Xrm.cs", som peger på en forekomst af Microsoft Dynamics 365. Bemærk, at filen Microsoft.Xrm.Client.CodeGeneration.dll skal være i den samme mappe som filen CrmSvcUtil.exe eller i den systemglobale assemblycache, når du kører denne kommando. Den første kommando, der er vist her, er for en lokal organisation, mens den anden kommando er for en CRM Online-organisation. Begge kommandoer skal udføres som en enkelt kommandolinje uden linjeskift.

    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
    

    Tip

    Værktøjet CrmSvcUtil er tilgængeligt i mappen Bin i SDK-downloadet eller ved at installere pakken Microsoft.CrmSdk.CoreToolsNuGet.

Konfigurer dit webprogramprojekt i Visual Studio

  1. Opret et nyt ASP.NET-webprogramprojekt i Microsoft Visual Studio. Dette eksempel bruger "WebAppWalkthrough" som navnet på projektet.

    Opret webprogram i Visual Studio

  2. Tilføj de følgende referencer fra mappen SDK\bin. Du kan springe dette trin og det næste over ved blot at installere pakken 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. Tilføj de følgende referencer fra .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. Højreklik på projektet i Visual Studio, klik på Tilføj, og klik derefter på Eksisterende element.

  5. Vælg filen "xrm.cs", som du oprettede, da du oprettede de tidligt bundne typer.

  6. Rediger filen web.config for at registrere afsnittet <microsoft.xrm.client>. Du skal føje et afsnit til configSections-noden i konfigurationen, som vist her.

    <configuration>
      <configSections>
        <section name="microsoft.xrm.client"
          type="Microsoft.Xrm.Client.Configuration.CrmSection, Microsoft.Xrm.Client" />
    
  7. Rediger filen web.config med din specifikke forbindelsesstreng og indhold. Angiv navnet "Xrm" for forbindelsesstrengen. I afsnittet <microsoft.xrm.client> skal du tilføje en kontekst med navnet "Xrm" og indstille typen til det navneområde- og servicekontekstnavn, du angav i trin 1, når du konfigurerer webprogramprojektet. I følgende eksempel er det Xrm.XrmServiceContext, og assemblydelen af typen er navnet på dit webprogram, "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. Tilføj følgende til afsnittet <controls> i filen web.config for at registrere Microsoft.Xrm.Portal-kontrolelementerne til webprogrammet.

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

Opret en webside – kontaktgitter 1

Opret en grundlæggende webside, der viser alle kontakter i dit Dynamics 365-system i et ASP.NET-datagitter.

  1. Højreklik på projektet, og tilføj en ny webformular med navnet "WebForm_LinqDataSource.aspx".

  2. Føj følgende til den nye aspx-side:

    <!--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. Opbyg projektet.

  4. Højreklik på aspx-siden, og vælg View in Browser (Vis i browser). Resultaterne vil se nogenlunde sådan ud:

    Vis i browser

Opret endnu en webside – kontaktgitter 2

Opret en webside, der viser alle kontakter i dit Dynamics 365-system i et ASP.NET-datagitter baseret på en Dynamics 365-visningsdefinition.

  1. Højreklik på projektet, og tilføj en ny webformular med navnet "WebForm_SavedQueryDataSource.aspx".

  2. Føj følgende til den nye aspx-side.

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

  4. Højreklik på aspx-siden, og vælg View in Browser (Vis i browser). Denne side bruger visningsdefinitionen "Active Contacts (Aktive kontakter)" til at returnere poster og få vist attributterne for visningen i et ASP.NET GridView-kontrolelement. Resultaterne vil se nogenlunde sådan ud:

    Vis i browser

Opret en WCF-datatjeneste

Opret en WCF-datatjeneste til Microsoft Dynamics 365.

  1. Højreklik på dit projekt, og tilføj en ny WCF-dataservice, kaldet "CrmData.svc":

    Opret datatjeneste

  2. Du skal pege WCF-datatjenesten i den XrmServiceContext, der blev oprettet i begyndelsen af denne gennemgang. Rediger filen CrmData.svc.cs på følgende måde:

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

Opret en webside – kontaktformular 1

Opret en webside, der gengiver en formular til kontaktdataindtastning baseret på en Microsoft Dynamics 365-visningsdefinition:

  1. I Dynamics 365 skal du gå til Indstillinger, Tilpasninger og Tilpas systemet. Opret en ny visning for objektet contact kaldet "Opret webformular for kontakt".

    Opret en webside

  2. Føj kolonner til visningen, som du ønsker skal vises som felter i den oprettede formular.

  3. Klik på Gem og publicer.

  4. Højreklik på webprojektet i Microsoft Visual Studio, og tilføj en ny webformular med navnet "WebForm_FromSavedQuery.aspx".

  5. Føj følgende kode til den nye aspx-side:

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

  7. Højreklik på aspx-siden, og klik på View in Browser (Vis i browser). Resultaterne vil se nogenlunde sådan ud:

    Vis i browser

Opret endnu en webside – kontaktgitter 3

Opret en webside, der bruger den bagvedliggende kode til at forbinde en Microsoft Dynamics 365-datakilde med et ASP.NET GridView-kontrolelement.

  1. Højreklik på projektet, og tilføj en ny webside med navnet "WebForm_CodeBehindDataSource.aspx".

  2. Føj følgende kode til den nye aspx-side.

    <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. Rediger den bagvedliggende kodefile WebForm_CodeBehind.aspx.cs på følgende måde:

    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. Opbyg projektet.

  5. Højreklik på aspx-siden, og klik på View in Browser (Vis i browser). Resultaterne vil se nogenlunde sådan ud:

    Vis i browser

Se også

Vejledning til portaludvikling til Microsoft Dynamics CRM 2015
Portalgennemgange til Dynamics CRM 2015

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret