逐步解說:使用開發人員擴充功能,建立連線至 Microsoft Dynamics CRM 2015 的 Web 應用程式

 

發行︰ 2016年11月

適用於: Dynamics CRM 2015

此逐步解說示範如何編寫建立連線至 Microsoft Dynamics CRM 2015 並執行基本建立連絡人交易的簡單 web 應用程式。

您可以在此解說於 Sdk\Walkthroughs\Portal\WebAppWalkthrough 資料夾中產生的範例碼程式碼。

本主題內容

產生早期繫結類型

設定在 Visual Studio 的 Web 應用程式專案

建立網頁 – 連絡人格線 1

建立另一個網頁 – 連絡人格線 2

建立 WCF 資料服務

建立網頁 – 連絡人表單 1

建立另一個網頁 – 連絡人格線 3

產生早期繫結類型

  1. 執行 CrmSvcUtil.exe 工具搭配 Microsoft.Xrm.Client.CodeGeneration 擴充功能來啟動您的實體類別和服務內容。 下列範例命令建立名為「Xrm.cs」的檔案,它能指向 Microsoft Dynamics 365執行個體。 請注意,Microsoft.Xrm.Client.CodeGeneration.dll 檔案必須位於與 CrmSvcUtil.exe 檔案相同的目錄位置,或是在系統全域組件快取中,才能執行此命令。 此處顯示的第一個命令是針對內部部署組織,而第二個命令則針對 CRM Online 組織。 應該以沒有換行的單一命令行來執行這兩個命令。

        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
    

    提示

    CrmSvcUtil 工具可於 SDK 下載的 Bin 資料夾中取得,或是透過安裝 Microsoft.CrmSdk.CoreToolsNuGet 套件來取得。

設定在 Visual Studio 的 Web 應用程式專案

  1. 在 Microsoft Visual Studio 建立新 ASP.NET Web 應用程式專案。 此範例使用「WebAppWalkthrough」為專案的名稱。

    在 Visual Studio 中建立 Web 應用程式

  2. 從 SDK\bin 資料夾新增參照。 您只需安裝 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. 從 .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. 在 Visual Studio 在專案上按一下滑鼠右鍵,按一下 [新增],然後選擇 [現有項目]。

  5. 在您產生早期繫結類型時,請選取您建立的「xrm.cs」檔案。

  6. 請編結 web.config 檔案來註冊此 <microsoft.xrm.client> 區域。 您需要將區段新增至 configSections 此設定顯示的節點。

    <configuration>
      <configSections>
        <section name="microsoft.xrm.client"
          type="Microsoft.Xrm.Client.Configuration.CrmSection, Microsoft.Xrm.Client" />
    
  7. 編輯內含您的特定連線字串和內容的 web.config 檔案。 對於連線字串,請設定名稱為「Xrm」。 在 <microsoft.xrm.client> 區段新增具有名稱「Xrm」為的內容並設定類型至您在步驟 1 提供的命名空間和服務內容名稱 (在您設定 web 應用程式專案時)。 在下列案例中是 Xrm.XrmServiceContext,且類型的組件名稱是您的 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. 將下列項目加至 web.config 檔案的 <controls> 區段,用 Web 應用程式註冊 Microsoft.Xrm.Portal 控制項。

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

建立網頁 – 連絡人格線 1

在 ASP.NET 資料格線的 Dynamics 365 系統建立顯示所有連絡人的基本網頁。

  1. 以滑鼠右鍵按一下您的專案並新增稱為「WebForm_LinqDataSource.aspx」新的網頁表單。

  2. 將下列項目增加至新的 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. 建立專案。

  4. 在 aspx 頁上按一下滑鼠右鍵,然後按一下 [在瀏覽器中檢視]。 結果看起來會像這樣:

    在瀏覽器中檢視

建立另一個網頁 – 連絡人格線 2

在依據 Dynamics 365 檢視定義的 ASP.NET 資料格線的 Dynamics 365 系統建立顯示所有連絡人的基本網頁。

  1. 以滑鼠右鍵按一下您的專案並新增稱為「WebForm_SavedQueryDataSource.aspx」新的網頁表單。

  2. 將下列項目增加至新的 aspx 頁面。

    <crm:SavedQueryDataSource ID="ActiveContacts" SavedQueryName="Active Contacts" runat="server" />
    <asp:GridView DataSourceID="ActiveContacts" runat="server" />
    
  3. 建立專案。

  4. 在 aspx 頁上按一下滑鼠右鍵,然後按一下 [在瀏覽器中檢視]。 此頁面會使用檢視定義「現行連絡人」來回傳紀錄,並在 ASP.NET GridView 控制項中顯示檢視表屬性。 結果看起來會像這樣:

    在瀏覽器中檢視

建立 WCF 資料服務

建立 Microsoft Dynamics 365 的 WCF 資料服務。

  1. 以滑鼠右鍵按一下您的專案,並新增名為「CrmData.svc」的 WCF 資料服務:

    建立資料服務

  2. 您需要將 WCF 資料服務指向建立於開始時的逐步解說中的 XrmServiceContext。 編輯 CrmData.svc.cs 檔案如下:

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

建立網頁 – 連絡人表單 1

依據 Microsoft Dynamics 365 檢視定義建立可以呈現連絡人資料選項表單的網頁:

  1. 在 Dynamics 365 時,前往 [設定]、[自訂項目],以及 [自訂系統]。 建立稱為「建立連絡人網頁表單」的 contact 檢視表實體。

    建立網頁

  2. 在檢視表中新增欄,希望在產生表單中顯示為欄位。

  3. 按一下 [儲存後發行]。

  4. 在 Microsoft Visual Studio 網頁專案以滑鼠右鍵按一下並新增稱為「WebForm_FromSavedQuery.aspx」的網頁表單專案。

  5. 將下列程式碼增加至新的 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. 建立專案。

  7. 在 aspx 頁上按一下滑鼠右鍵,然後按一下 [在瀏覽器中檢視]。 結果看起來會像這樣:

    在瀏覽器中檢視

建立另一個網頁 – 連絡人格線 3

建立一個用一段程式碼來將 Microsoft Dynamics 365 資料來源的網頁連線至 ASP.NET GridView 控制項。

  1. 以滑鼠右鍵按一下您的專案並新增稱為「WebForm_CodeBehindDataSource.aspx」新的網頁表單。

  2. 將下列程式碼增加至新的 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. 編輯程式碼後置檔案 WebForm_CodeBehind.aspx.cs 如下:

    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. 建立專案。

  5. 在 aspx 頁上按一下滑鼠右鍵,然後按一下 [在瀏覽器中檢視]。 結果看起來會像這樣:

    在瀏覽器中檢視

另請參閱

Microsoft Dynamics CRM 2015 入口網站開發人員指南
Dynamics CRM 2015 的入口網站逐步解說

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權