Esercizio - Creazione di un nuovo trigger CRT
In questo esercizio, è necessario implementare un trigger, registrare l'estensione, eseguire il debug di CRT e convalidare l'estensione.
Implementazione di un trigger
Per implementare un trigger, completare le attività come mostrato nell'esempio relativo al codice indicato di seguito.
Implementare IrequestTriggerAsync.
Specificare SupportedRequestTypes per definire i tipi di richiesta per cui deve essere implementato il trigger.
Scrivere un'implementazione del trigger nel metodo OnExecuting se la logica di business deve essere eseguita prima che la richiesta venga indirizzata.
Scrivere un'implementazione del trigger nel metodo OnExecuted se la logica di business deve essere eseguita dopo che la richiesta è stata indirizzata.
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; } }
Registrazione dell'estensione
Per registrare l'estensione, effettuare le seguenti attività:
- Copia e incolla la libreria di estensioni nella cartella ...\RetailServer\webroot\bin\ext, quindi aggiornare il file commerceRuntime.ext.config con le informazioni sulla libreria di estensioni personalizzate nella sezione di composizione. In questo esempio, Contoso.Commerce.Runtime.Services è il nome dell'estensione personalizzata.
- Affinché l'estensione CRT funzioni in modalità offline, aggiornare ...\Microsoft Dynamics 365\70\Retail Modern POS\ClientBroker\ext\CommerceRuntime.MPOSOffline.ext.config con le informazioni sulla libreria di estensioni nella sezione di composizione.
- Copiare e incollare la libreria di estensioni in ...\Microsoft Dynamics 365\70\Retail Modern POS\ClientBroker\ext.
Esecuzione del debug di CRT
Per eseguire il debug di CRT da Store Commerce, allegare l'estensione di progetto CRT al processo w3wp.exe (processo IIS per Retail Server) quando Store Commerce è connesso a Retail Server.
Per la modalità offline, allegare l'estensione di progetto CRT al processo dllhost.exe.
Convalida dell'estensione
Per convalidare l'estensione, effettuare le seguenti attività:
- Accedere a Store Commerce.
- Cercare qualsiasi cliente in Store Commerce, quindi andare ai dettagli del cliente. Sarà chiamata la richiesta CRT precedente.