Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können das Routing für Nicht-Anfragedatensätze, z. B. E-Mail-Nachrichten, programmgesteuert über die IPlugin-Schnittstelle auslösen.
Sie können den folgenden Beispielcode in Ihrer Konsolen-App (.NET Framework) von Visual Studio verwenden. Der Code prüft, ob die folgenden beiden Bedingungen erfüllt sind, und wenn sie erfüllt sind, löst er die Aktion msdyn_ApplyRoutingRuleEntityRecord aus.
- ob mit der Webdienstmeldung ein Datensatz erstellt werden soll
- Gibt an, ob es sich bei dem Datensatz um eine E-Mail-Nachricht handelt.
public class SamplePlugin : IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
// Obtain the tracing service
ITracingService tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService));
// Obtain the execution context from the service provider
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
// Check if create message
if (context.MessageName.ToLower().Equals("create"))
{
// The InputParameters collection contains all the data passed in the message request
if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
{
// Obtain the target entity from the input parameters
Entity entity = (Entity)context.InputParameters["Target"];
// Target is an email
if (entity.LogicalName.ToLower().Equals("email"))
{
try
{
// Obtain the organization service reference that you'll need for web service calls
IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
// Execute msdyn_ApplyRoutingRuleEntityRecord request
OrganizationRequest request = new OrganizationRequest("msdyn_ApplyRoutingRuleEntityRecord");
request["Target"] = new EntityReference("email", entity.Id);
service.Execute(request);
}
catch (Exception ex)
{
tracingService.Trace("SamplePlugin: {0}", ex.ToString());
throw;
}
}
}
}
}
}
}
Verwandte Informationen
Übersicht über das Routing
Routing für Datensätze einrichten
Datensätze manuell routen
Automatisches Weiterleiten von Datensätzen mithilfe des Flows