Recursos web de Silverlight (XAP)

Importante

Los recursos web de Microsoft Silverlight quedan obsoletos en las aplicaciones de Dynamics 365 for Customer Engagement versión 9.0. HTML5 es la tecnología de cliente preferida para la Web, antes que los complementos web como Silverlight y Flash. HTML5 se puede consumir desde cualquier dispositivo (PC, tableta, smartphone, etc.) y hace un uso intensivo de JavaScript (y de muchas bibliotecas eficaces de JavaScript, como jQuery) y CSS.

Los recursos web de Microsoft Silverlight siguen siendo compatibles en Dynamics 365 for Customer Engagement para compatibilidad con versiones anteriores solo en la aplicación web. Microsoft Silverlight no funcionará para la interfaz unificada. Para los componentes que deben poder presentarse en todos los clientes, se recomienda usar recursos web de HTML con HTML5 en lugar de Silverlight.

Dynamics 365 for Customer Engagement admite la adición de recursos web de Silverlight 4.0 a formularios de entidad. Puede mostrar los recursos web de Silverlight 5.0 dentro de un recurso web HTML utilizando un elemento <object> de hospedaje que está configurado para esa versión.

Nota

  • Los recursos web de Microsoft Silverlight no se pueden ver en la versión de 64 bits de Office Outlook.
    • Para mostrar un recurso web de Silverlight fuera de un formulario o gráfico de entidad, cree un recurso web HTML como página host para el recurso web de Silverlight. Después, use la directiva $webresource: para abrir el recurso web HTML.

Creación de recursos web de Silverlight

Los recursos web de Silverlight se crean fácilmente con el formulario de recursos web especificando un nombre y un nombre para mostrar, seleccionando Silverlight (XAP) como tipo y cargando el archivo .xap. El recurso web debe haberse publicado para poder usarlo. Sin embargo, debido a que los recursos web de Silverlight normalmente proporcionan cierta interacción con los datos contextuales de Dynamics 365 Customer Engagement (on-premises), debería planear cómo los crea.

Acceso a los datos de contexto

Cuando se usa el botón Vista previa en el formulario de los recursos web o simplemente se accede a la dirección URL proporcionada, la aplicación de Silverlight se hospeda en una página HTML genérica sin información de contexto. Si la aplicación de Silverlight no requiere información contextual, puede usar esta dirección URL para ver el recurso web de Silverlight.

Si necesita contextual información, debe realizar una de estas acciones:

  1. Agregar el recurso web de Silverlight a un formulario de entidad.

  2. Ver el recurso web de Silverlight mediante un recurso web HTML configurado para proporcionar información de contexto.

    Si el recurso web de Silverlight se ha diseñado para poder verse en un formulario de entidad, el formulario tiene un objeto Xrm.Page.context que puede usar para tener acceso a la información contextual. Para obtener más información, consulte Contexto del lado del cliente (referencia del lado del cliente)

    Si necesita que su aplicación Silverlight aparezca fuera del contexto del formulario, debe configurar un recurso web HTML para proporcionar esta información de contexto añadiendo una referencia a la página ClientGlobalContext.js.aspx.md#BKMK_ClientGlobalContext_js_aspx). Después de agregar esta referencia, la aplicación de Silverlight tiene acceso a la información contextual del mismo modo que en un formulario de entidad. El siguiente ejemplo muestra cómo llamar a la función getClientUrl.

private string clientUrl = "";  
ScriptObject xrm = (ScriptObject)HtmlPage.Window.GetProperty("Xrm");  
ScriptObject page = (ScriptObject)xrm.GetProperty("Page");  
ScriptObject pageContext = (ScriptObject)page.GetProperty("context");  
clientUrl = (string)pageContext.Invoke("getClientUrl");  

Paso de datos de un formulario a un recurso web de Silverlight incrustado

Cuando agregue un recurso web de Silverlight a un formulario, puede seleccionar la opción Pasar código tipo de objeto de registro e id. único como parámetros. También tiene la opción de especificar texto como parámetro personalizado.

Estos valores se pasan al control de Silverlight como una propiedad InitParams, un diccionario de pares clave/valor.

Los valores que se pasan se describen en la tabla siguiente.

Clave Descripción
id El identificador único del registro.
type El código de tipo de entidad. Para las entidades personalizadas puede variar dependiendo de la organización.
typename El nombre lógico de la entidad.
orgname El nombre de la organización.
userlcid El código de idioma que representa la preferencia de idioma del usuario.
orglcid El código de idioma que representa el idioma base de la organización.
data El valor del texto proporcionado como parámetro personalizado.

Se puede acceder a estos valores en tiempo de ejecución mediante la sintaxis del siguiente ejemplo:

string entityTypeName = App.Current.Host.InitParams["typename"];  

Escritura y pruebas de los recursos web de Silverlight

Si el recurso web de Silverlight es independiente de los datos contextuales de Dynamics 365 Customer Engagement (on-premises), puede escribir y probar la aplicación de Silverlight como lo haría habitualmente. Después de crear un nuevo recurso web cargando el archivo .xap, puede probarlo con el botón Vista previa del formulario de recursos web después de guardar y publicar el recurso web.

Sin embargo, es más probable que la aplicación de Silverlight tenga dependencias contextuales de datos que no se pueden simular por completo fuera de Dynamics 365 Customer Engagement (on-premises).

El proceso de creación de un recurso web de Silverlight que incluya dependencias de formulario o de contexto es el siguiente:

  1. Cree el proyecto de aplicación de Silverlight.

    Debe seleccionar la opción de crear una aplicación web con el proyecto.

  2. Escriba y pruebe la aplicación tanto como pueda sin que se requieran los datos contextuales de Dynamics 365 Customer Engagement (on-premises).

  3. Cree recursos web cargando los archivos. xap y. htm como recursos web Silverlight y HTML.

  4. Escriba el código del proyecto de aplicación de Silverlight.

  5. Compile el proyecto de aplicación de Silverlight.

  6. Cargue la versión creada del archivo. xap desde la carpeta ClientBin del proyecto de aplicación web para actualizar el recurso web de Silverlight creado en el paso 3.

  7. Pruebe el recurso web de Silverlight realizando cualquiera de estas acciones:

    • Verlo con el botón Vista previa del recurso web host de HTML que ha creado.

    • Viéndolo en el contexto del formulario de entidad al que lo agregado.

      Use esta opción si la aplicación de Silverlight tiene dependencias de elementos de formulario o de información de contexto.

  8. Repita los pasos 4 a 7 hasta que termine.

Nota

Cuando desee mostrar un recurso web de Silverlight fuera de un formulario de entidad, por ejemplo, en el cuadro principal de la aplicación, editando el mapa del sitio, debe proporcionar un recurso web de página web (HTML) que actúe como host del recurso web de Silverlight.

Importante

Nunca edite el código fuente HTML de una página que hospede un recurso web de Silverlight mediante el editor de texto proporcionado en la aplicación. El editor de texto modifica el código HTML e invalida la definición del elemento <object> necesaria para hospedar el recurso web de XAP de Silverlight. Para obtener más información, consulte Uso del editor de texto para recursos Web de HTML.

Si debe usar el editor de texto, omita el parámetro data="data:application/x-silverlight-2," del elemento <object>. Si bien esto debe servir para evitar invalidar el recurso web de Silverlight, el editor de texto todavía puede realizar otros cambios no deseables.

Depuración de recursos web de Silverlight

Los recursos web de Silverlight que no dependen de los datos contextuales de Dynamics 365 Customer Engagement (on-premises) se pueden depurar en Visual Studio. Sin embargo, si el recurso web de Silverlight requiere datos contextuales para realizar las funciones, será necesario usar otro procedimiento.

  1. Compile el proyecto de aplicación de Silverlight.

  2. Cargue la versión compilada del archivo .xap desde la carpeta ClientBin del proyecto de aplicación web.

  3. Vea la aplicación de Silverlight en el contexto para el que está diseñada.

  4. En el proyecto de aplicación de Silverlight, en el menú de Visual Studio, seleccione Depurar y, a continuación, Asociar al proceso.

  5. En el cuadro de diálogo Asociar al proceso, busque un proceso iexplore.exe cuyo valor en la columna Tipo sea Silverlight, x86.

  6. Seleccione dicho proceso y haga clic en Asociar para cerrar el cuadro de diálogo y empezar la depuración.

  7. En el proyecto de aplicación de Silverlight, establezca un punto de interrupción.

  8. Actualice la ventana del explorador o, en la aplicación de Silverlight, lleve a cabo la acción necesaria para probar el código.

Vea también

Crear recursos web accesibles
Recursos web para Dynamics 365 Customer Engagement (on-premises)
Uso de recursos web de página web (HTML)
Uso de recursos web de hojas de estilo (CSS)
Usar recursos web de script (JScript)
Uso de recursos web de datos (XML)
Uso de recursos web de imagen (JPG, PNG, GIF)
Uso de recursos web de hoja de estilo (XSL)