Registrar e implementar el complemento personalizado para usar el proveedor de datos geoespaciales preferido
Para poder usar un complemento, se debe registrar e implementar en el servidor.
La creación de un proyecto de complementos generará un ensamblado de complementos (.dll). En este artículo se proporciona información sobre cómo puede registrar e implementar el ensamblado de complementos para que las dos acciones geoespaciales utilicen su proveedor de datos geoespacial preferido. Para obtener información sobre la escritura de un complemento, vea Crear el complemento personalizado para usar el proveedor de datos geoespaciales preferido.
Consideraciones sobre el orden de ejecución cuando se registra el complemento personalizado
Cuando registre varios complementos para la misma entidad y mensaje, la secuencia de ejecución de los complementos se definirá mediante el orden de ejecución de complementos individuales. El que tenga un valor de orden de ejecución inferior se ejecutará primero, seguido del que tenga un valor de orden de ejecución superior.
El valor de orden de ejecución del complemento predeterminado en Field Service y Project Service que usa Mapas de Bing para las acciones de matriz de distancia y código geográfico se establece en 1. Puede establecer el orden de ejecución de su complemento predeterminado para que se ejecute antes (inferior a 1) o después (superior a 1) del complemento predeterminado.
La siguiente tabla describe cómo quiere que se trate su complemento personalizado según el orden de ejecución especificado en el momento del registro del complemento y las condiciones de los parámetros.
Jerarquía | Description |
---|---|
Principal | Si desea tratar su complemento personalizado como principal y el complemento de Bing predeterminado como secundario, establezca el orden de ejecución de su complemento en 0. Esto hará que su complemento se ejecute antes del complemento de Bing. El complemento de Bing examinará los valores de "latitud" y "longitud" que devuelve su complemento personalizado, y solo pasará al código geográfico con Bing si los valores devueltos de ambos son 0. Esta podría ser la forma preferida si se espera que su complemento personalizado satisfaga la mayoría de sus necesidades de código geográfico. |
Secundario | Si desea tratar su complemento personalizado como secundario en el complemento de Bing proporcionando el servicio de código geográfico solo cuando se produzca un error de Bing en cuanto al código geográfico, establezca el orden de ejecución del complemento en 2. Es posible que también desee escribir su código de complemento personalizado de tal forma que primero se examinen los valores "latitud" y "longitud" que devuelve el complemento de Bing, y que continúe solo si ambos valores devueltos son 0. Esta podría ser la forma de ejecución preferida si se espera que Bing satisfaga la mayoría de sus necesidades de código geográfico |
Reemplazar completamente | Si siempre desea que su complemento personalizado sea el origen del código geográfico y reemplazar completamente Bing desde el código geográfico incluso cuando se produce un error del complemento personalizado en cuanto al código geográfico, tendrá siempre que devolver un valor distinto a 0,0 para "latitud" y "longitud". Es posible que quiera decidir qué condiciones de excepción lanzan una excepción .NET y cuáles simplemente no devuelven ningún resultado. Para que no se devuelva ningún resultado y no se permita que un complemento siguiente devuelva uno, el complemento personalizado necesitará devolver un valor como 0,0001, 0,0001. |
Registrar e implementar el complemento personalizado
Puede registrar e implementar complementos mediante la herramienta de registro de complementos, o mediante programación, escribiendo el código de registro que utiliza determinadas clases de SDK. Más información: Registrar e implementar complementos.
Para esta sección, utilizaremos la herramienta de registro de complementos, que proporciona una interfaz gráfica de usuario para registrare implementar complementos fácilmente. Además, esta sección contiene información basada en el supuesto de que está trabajando con el complemento personalizado de muestra, y ha creado el proyecto de ejemplo para generar el ensamblado CustomPlugin-FS-Geospatial.dll. Si ha desarrollado su propio complemento personalizado, el nombre del ensamblado y los complementos no coincidirán, pero las instrucciones generales para registrar el complemento seguirán siendo las mismas.
Propina
Para obtener información detallad sobre cómo usar la herramienta de registro de complementos en general, vea Tutorial: Registro de un complemento con la herramienta de registro de complementos.
Obtenga la herramienta de registro de complementos. Para obtener la herramienta de registro de complementos, consulte Descargar herramientas de NuGet.
Vaya a la carpeta
[Your folder]\Tools\PluginRegistration
y haga doble clic en el archivo PluginRegistration.exe para ejecutar la herramienta.Haga clic en CREAR NUEVA CONEXIÓN.
En el diálogo Iniciar sesión, especifique las credenciales para conectarse a su instancia de Dynamics 365 y haga clic en Iniciar sesión.
Si dispone de acceso a varias organizaciones en la instancia de Dynamics 365, se le mostrará una lista de organizaciones a las que conectarse. De lo contrario, se usa la organización predeterminada.
Debe ver una lista contraída de ensamblados de actividades de flujo de trabajo personalizadas o complementos registrados. Seleccione Registrar>Registrar nuevo ensamblado.
En el cuadro de diálogo Registrar nuevo ensamblado:
En la sección Paso 1, haga clic en el botón puntos suspensivos […] para seleccionar el ensamblado CustomPlugin-FS-Geospatial.dll.
En la sección Paso 2, seleccione ambos complementos.
En la sección Paso 3, seleccione la opción Espacio aislado.
En la sección Paso 4, seleccione la opción Base de datos.
Seleccione Registrar complementos seleccionados.
El ensamblado CustomPlugin-FS-Geospatial.dll y los dos complementos para msdyn_GeocodeAddress y msdyn_RetrieveDistanceMatrix están ahora registrados e implementados en el servidor.
El siguiente paso es registrar un paso para cada acción. Un paso se refiere a la entidad del paso de procesamiento de mensajes del SDK que se usa para configurar cuándo y cómo se ejecuta el complemento.
En la vista de árbol Complementos registrados y actividades personalizadas del flujo de trabajo, expanda el nodo (Ensamblado) CustomPlugin-FS-Geospatial y seleccione un complemento registrado, como Microsoft.Crm.Sdk.Samples.msdyn_RetrieveDistanceMatrix.
Haga clic con el botón derecho en Microsoft.Crm.Sdk.Samples.msdyn_RetrieveDistanceMatrix y seleccione Registrar nuevo paso.
En el cuadro de diálogo Registrar nuevo paso, especifique la siguiente información:
- Mensaje: msdyn_RetrieveDistanceMatrix
- Orden de ejecución: según sea necesario. Vea Consideraciones sobre el orden de ejecución cuando se registra el complemento personalizado anteriormente en este artículo.
- Fase de canalización de eventos de ejecución: PostOperation
- Modo de ejecución: Sincrónico
- Deje el resto de campos con los valores predeterminados. Haga clic en Registrar nuevo paso.
A continuación, haga clic con el botón derecho en el complemento Microsoft.Crm.Sdk.Samples.msdyn_GeocodeAddress y seleccione Registrar nuevo paso.
En el cuadro de diálogo Registrar nuevo paso, especifique la siguiente información:
- Mensaje: msdyn_GeocodeAddress
- Orden de ejecución: según sea necesario. Vea Consideraciones sobre el orden de ejecución cuando se registra el complemento personalizado anteriormente en este tema.
- Fase de canalización de eventos de ejecución: PostOperation
- Modo de ejecución: Sincrónico
- Deje el resto de campos con los valores predeterminados. Haga clic en Registrar nuevo paso.
Ya ha terminado con los pasos de registro para llamar al complemento personalizado para ambas acciones geoespaciales.
Si visualiza alguna de las acciones geoespaciales de Universal Resource Scheduling en la herramienta de registro de complementos, verá el valor predeterminado y el complemento personalizado registrado para la acción. Por ejemplo, verá los complementos para la acción mdyn_GeocodeAddress.