逐步解說:使用開發人員擴充功能,建立連線至 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
產生早期繫結類型
執行 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 應用程式專案
在 Microsoft Visual Studio 建立新 ASP.NET Web 應用程式專案。 此範例使用「WebAppWalkthrough」為專案的名稱。
從 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
從 .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
在 Visual Studio 在專案上按一下滑鼠右鍵,按一下 [新增],然後選擇 [現有項目]。
在您產生早期繫結類型時,請選取您建立的「xrm.cs」檔案。
請編結 web.config 檔案來註冊此 <microsoft.xrm.client> 區域。 您需要將區段新增至 configSections 此設定顯示的節點。
<configuration> <configSections> <section name="microsoft.xrm.client" type="Microsoft.Xrm.Client.Configuration.CrmSection, Microsoft.Xrm.Client" />
編輯內含您的特定連線字串和內容的 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>
將下列項目加至 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 系統建立顯示所有連絡人的基本網頁。
以滑鼠右鍵按一下您的專案並新增稱為「WebForm_LinqDataSource.aspx」新的網頁表單。
將下列項目增加至新的 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>
建立專案。
在 aspx 頁上按一下滑鼠右鍵,然後按一下 [在瀏覽器中檢視]。 結果看起來會像這樣:
建立另一個網頁 – 連絡人格線 2
在依據 Dynamics 365 檢視定義的 ASP.NET 資料格線的 Dynamics 365 系統建立顯示所有連絡人的基本網頁。
以滑鼠右鍵按一下您的專案並新增稱為「WebForm_SavedQueryDataSource.aspx」新的網頁表單。
將下列項目增加至新的 aspx 頁面。
<crm:SavedQueryDataSource ID="ActiveContacts" SavedQueryName="Active Contacts" runat="server" /> <asp:GridView DataSourceID="ActiveContacts" runat="server" />
建立專案。
在 aspx 頁上按一下滑鼠右鍵,然後按一下 [在瀏覽器中檢視]。 此頁面會使用檢視定義「現行連絡人」來回傳紀錄,並在 ASP.NET GridView 控制項中顯示檢視表屬性。 結果看起來會像這樣:
建立 WCF 資料服務
建立 Microsoft Dynamics 365 的 WCF 資料服務。
以滑鼠右鍵按一下您的專案,並新增名為「CrmData.svc」的 WCF 資料服務:
您需要將 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 檢視定義建立可以呈現連絡人資料選項表單的網頁:
在 Dynamics 365 時,前往 [設定]、[自訂項目],以及 [自訂系統]。 建立稱為「建立連絡人網頁表單」的 contact 檢視表實體。
在檢視表中新增欄,希望在產生表單中顯示為欄位。
按一下 [儲存後發行]。
在 Microsoft Visual Studio 網頁專案以滑鼠右鍵按一下並新增稱為「WebForm_FromSavedQuery.aspx」的網頁表單專案。
將下列程式碼增加至新的 aspx 頁面:
<asp:ScriptManager runat="server" /> <crm:CrmDataSource ID="Contacts" runat="server" /> <crm:CrmEntityFormView DataSourceID="Contacts" EntityName="contact" SavedQueryName="Create Contact Web Form" runat="server" />
建立專案。
在 aspx 頁上按一下滑鼠右鍵,然後按一下 [在瀏覽器中檢視]。 結果看起來會像這樣:
建立另一個網頁 – 連絡人格線 3
建立一個用一段程式碼來將 Microsoft Dynamics 365 資料來源的網頁連線至 ASP.NET GridView 控制項。
以滑鼠右鍵按一下您的專案並新增稱為「WebForm_CodeBehindDataSource.aspx」新的網頁表單。
將下列程式碼增加至新的 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>
編輯程式碼後置檔案 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(); } } }
建立專案。
在 aspx 頁上按一下滑鼠右鍵,然後按一下 [在瀏覽器中檢視]。 結果看起來會像這樣:
另請參閱
Microsoft Dynamics CRM 2015 入口網站開發人員指南
Dynamics CRM 2015 的入口網站逐步解說
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權