练习 – 新建 CRT 触发器

已完成

在本练习中,将实现触发器,然后注册扩展、调试 CRT 并验证扩展。

实现触发器

要实现触发器,请完成以下代码示例中显示的任务。

  1. 实现 IrequestTriggerAsync

  2. 指定 SupportedRequestTypes,定义必须实现触发器的请求类型。

  3. 如果必须在处理请求之前运行业务逻辑,请在 OnExecuting 方法中编写触发器实现。

  4. 如果必须在处理请求之后运行业务逻辑,请在 OnExecuted 方法中编写触发器实现。

    using Microsoft.Dynamics.Commerce.Runtime;
    using Microsoft.Dynamics.Commerce.Runtime.DataServices.Messages;
    using Microsoft.Dynamics.Commerce.Runtime.Messages;
    using System;
    using System.Collections.Generic;
    using System.Threading.Tasks;
    
    public class GetCustomerTriggers : IRequestTriggerAsync
    {
       /// <summary>
       /// Gets the supported requests for this trigger.
       /// </summary>
       public IEnumerable<Type> SupportedRequestTypes
       {
           get
             {
               return new[] { typeof(GetCustomerDataRequest) };
             }
       }
    
       /// <summary>
       /// Post trigger code.
       /// </summary>
       /// <param name="request">The request.</param>
       /// <param name="response">The response.</param>
       public async Task OnExecuted(Request request, Response response)
       {
          //Custom logic
    
         // The only stub to handle async signature 
            await Task.CompletedTask;
        }
    
        /// <summary>
        /// Pre trigger code
        /// </summary>
        /// <param name="request">The request.</param>
        public async Task OnExecuting(Request request)
        {
            // custom logic 
            await Task.CompletedTask;
        }
    }
    

注册扩展

要注册扩展,请完成以下任务:

  1. 将扩展库复制并粘贴到 ...\RetailServer\webroot\bin\ext 文件夹,然后使用组成部分下的自定义扩展库信息更新 commerceRuntime.ext.config 文件。 在本示例中,Contoso.Commerce.Runtime.Services 是自定义扩展名。
  2. 要使 CRT 扩展在脱机模式下工作,请使用组成部分下的扩展库信息更新 ...\Microsoft Dynamics 365\70\Retail Modern POS\ClientBroker\ext\CommerceRuntime.MPOSOffline.ext.config
  3. 将扩展库复制并粘贴到 ...\Microsoft Dynamics 365\70\Retail Modern POS\ClientBroker\ext

调试 CRT

要从 Store Commerce 调试 CRT,请在将 Store Commerce 连接到 Retail Server 时将 CRT 扩展项目附加到 w3wp.exe(Retail Server 的 IIS 进程)进程。

对于脱机模式,请将 CRT 扩展项目附加到 dllhost.exe 进程。

验证扩展

要验证扩展,请完成以下任务:

  1. 登录到 Store Commerce。
  2. 在 Store Commerce 中搜索任何客户,然后转到客户详细信息。 系统会调用先前的 CRT 请求。