Recursos web de Silverlight (XAP)

 

Publicado: enero de 2017

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Importante

Los recursos web de Microsoft Silverlight se siguen admitiendo en Microsoft Dynamics 365 (en línea y local) para mantener la compatibilidad con versiones anteriores. Para los componentes que deben poder presentarse en todos los clientes, se recomienda usar recursos web de HTML con HTML5 en lugar de Silverlight.

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.

Microsoft Dynamics 365 (en línea y local) permiten agregar recursos web de Silverlight 4.0 a los formularios de entidad. Puede mostrar recursos web de Silverlight 5.0 dentro de un recurso web HTML mediante un elemento <object> de hospedaje configurado para esa versión.

Nota

  • Los recursos web de Microsoft Silverlight no se pueden visualizar en la versión de 64 bits de Microsoft 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.

En este tema

Creación de recursos web de Silverlight

Acceso a los datos de contexto

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

Escritura y pruebas de los recursos web de Silverlight

Depuración de recursos web de Silverlight

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 Microsoft Dynamics 365, 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 la aplicación de Silverlight aparezca fuera del contexto del formulario, debe configurar un recurso web HTML para proporcionar esta información de contexto agregando una referencia a la página 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 desde el objeto Xrm.Page.context.

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 Microsoft Dynamics 365, 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 Microsoft Dynamics 365.

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 Microsoft Dynamics 365.

  3. Cree los recursos web cargando los archivos .xap y .htm como recursos web de 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 compilada del archivo .xap desde la carpeta ClientBin del proyecto de aplicación web para actualizar el recurso web de Silverlight que creó en el paso 3.

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

    • Viéndolo con el botón Vista previa del recurso web host 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 XAP de Silverlight. Para obtener más información, vea bba8645a-a725-4c4d-a393-bab8ca692482#BKMK_UsingTextEditor.

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 Microsoft Dynamics 365 se pueden depurar en Microsoft Visual Studio. Sin embargo, si el recurso web de Silverlight requiere datos contextuales para realizar las funciones, será necesario usar otro procedimiento.

  1. Compile la 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.

Ver también

Crear recursos web accesibles
Recursos web para Microsoft Dynamics 365
Recursos web de página web (HTML)
Recursos web CSS
Recursos web de script (JScript)
Recursos web (XML) de datos
Recursos web de imagen (JPG, PNG, GIF, ICO)
Recursos web de hoja de estilo (XSL)

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright