Silverlight (XAP) Web 资源

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

重要

Microsoft Silverlight Web 资源在 Microsoft Dynamics 365(在线或本地) 中仍受支持,以便向后兼容。 对于将能够在所有客户端上显示的性能,建议使用 HTML5 Web 资源和 HTML 而不是 Silverlight。

HTML5 是通过 Web 插件(如 Silverlight 和 Flash)的 Web 首选客户端技术。 可以从任何设备(PC、tablet、smartphone 等待)使用 HTML5,HTML5 大量使用 JavaScript(和许多强大的 JavaScript 库,例如和 CSS jQuery)。

Microsoft Dynamics 365(在线或本地) 支持向实体窗体添加 Silverlight 4.0 Web 资源。 可以使用为该版本配置的托管 <object> 元素在 HTML Web 资源内显示 Silverlight 5.0 Web 资源。

备注

  • 在 64 位版本的 Microsoft Silverlight 中无法查看 Microsoft Office Outlook Web 资源。

  • 若要在实体窗体或图表外显示 Silverlight Web 资源,请创建 HTML Web 资源作为 Silverlight Web 资源的宿主页。 然后使用 $webresource: 指令打开 HTML Web 资源。

本主题内容

创建 Silverlight Web 资源

访问上下文数据

从窗体向嵌入的 Silverlight Web 资源传递数据

编写和测试 Silverlight Web 资源

调试 Silverlight Web 资源

创建 Silverlight Web 资源

使用 Web 资源窗体通过输入名称、显示名称、选择“Silverlight (XAP)”作为类型并上传 .xap 文件可以轻松创建 Silverlight Web 资源。 必须先发布 Web 资源,然后才能使用它。 但因为 Silverlight Web 资源通常会提供与 Microsoft Dynamics 365 中的上下文数据之间的一些交互,所以应规划创建 Web 资源的方式。

访问上下文数据

当您在 Web 资源窗体中使用“预览”按钮或浏览到提供的 URL 时,会在没有上下文信息的通用 HTML 页面中承载 Silverlight 应用程序。 如果您的 Silverlight 应用程序不需要上下文信息,则可使用此 URL 查看 Silverlight Web 资源。

如果需要上下文信息,则必须执行以下操作之一:

  1. 将 Silverlight Web 资源添加到实体窗体中。

  2. 使用为提供上下文信息而配置的 HTML Web 资源查看 Silverlight Web 资源。

如果设计为在实体窗体中查看您的 Silverlight Web 资源,该窗体需具有可用于访问上下文信息的 Xrm.Page.context 对象。 有关详细信息,请参阅客户端上下文(客户端引用)

如果您需要 Silverlight 应用程序显示在窗体上下文之外,则必须配置 HTML Web 资源,以便通过添加对 ClientGlobalContext.js.aspx 页的引用来提供此上下文信息。 添加此引用后,Silverlight 应用程序可以像在实体窗体中那样访问上下文信息。 以下示例演示如何从 Xrm.Page.context 对象调用 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");

从窗体向嵌入的 Silverlight Web 资源传递数据

在向窗体中添加 Silverlight Web 资源时,可以选择“将记录对象类型代码和唯一标识符作为参数传递”选项。 也可以选择将本文输入为自定义参数。

这些值会作为 InitParams(键/值对的词典)传递给 Silverlight 控件。

下表中介绍了传递的值。

说明

id

记录的唯一标识符。

type

实体类型代码。 对于自定义实体,类型因组织而异。

typename

实体的逻辑名称。

orgname

组织的名称。

userlcid

表示用户的语言首选项的语言代码。

orglcid

表示组织的基本语言的语言代码。

data

作为自定义参数输入的文本值。

可以在运行时使用以下示例中的语法访问这些值:

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

编写和测试 Silverlight Web 资源

如果您的 Silverlight Web 资源独立于 Microsoft Dynamics 365 中的任何上下文数据,则可按通常方式编写并测试 Silverlight 应用程序。 在通过上传 .xap 文件创建新 Web 资源并保存和发布该 Web 资源后,可以使用 Web 资源窗体中的“预览”按钮对其进行测试。

但是,您的 Silverlight 应用程序可能具有无法在 Microsoft Dynamics 365 的外部完全模拟的上下文数据依赖项。

创建包括窗体或上下文依赖项的 Silverlight Web 资源的过程如下所示:

  1. 创建 Silverlight 应用程序项目。

    应选择随您的项目创建 Web 应用程序。

  2. 编写并测试尽量多的应用程序,而不需要来自 Microsoft Dynamics 365 的上下文数据。

  3. 通过将 .xap 和 .htm 文件作为 Silverlight 和 HTML Web 资源上传来创建 Web 资源。

  4. 在您的 Silverlight 应用程序项目中编写代码。

  5. 生成 Silverlight 应用程序项目。

  6. 从 Web 应用程序项目的 ClientBin 文件夹中上传 .xap 文件的生成版本,以更新您在步骤 3 中创建的 Silverlight Web 资源。

  7. 通过以下任一方式测试 Silverlight Web 资源:

    • 使用所创建的主机 HTML Web 资源的“预览”按钮查看资源。

    • 在向其中添加 Web 资源的实体窗体的上下文中查看该资源。

      如果您的 Silverlight 应用程序项目依赖于窗体元素或上下文信息,请使用此选项。

  8. 重复步骤 4 至 7,直到完成为止。

备注

当您要在实体窗体之外显示 Silverlight Web 资源时(例如,在应用程序主框架中通过编辑站点地图来显示),必须提供要充当 Silverlight Web 资源的主机的网页 (HTML) Web 资源。

重要

绝不使用应用程序中提供的文本编辑器来编辑承载 Silverlight Web 资源的页面的 HTML 源代码。 文本编辑器将更改 HTML 并分解承载 SilverlightXAP Web 资源所需的 <object> 元素定义。 有关详细信息,请参阅bba8645a-a725-4c4d-a393-bab8ca692482#BKMK_UsingTextEditor。

如果必须使用文本编辑器,请在 <object> 元素中省略 data="data:application/x-silverlight-2," 参数。 尽管这将防止分解 Silverlight Web 资源,但文本编辑器仍可能引入其他意外更改。

调试 Silverlight Web 资源

可在 Silverlight 中调试不依赖 Microsoft Dynamics 365 中上下文数据的 Microsoft Visual Studio Web 资源。 但是,如果 Silverlight Web 资源需要上下文数据来执行相关功能,则必须使用不同的过程。

  1. 生成 Silverlight 应用程序。

  2. 从 Web 应用程序项目的 ClientBin 文件夹上传 .xap 文件的生成版本。

  3. 在设计为要使用 Silverlight 应用程序的上下文中查看该应用程序。

  4. 在您的 Silverlight 应用程序项目中,从 Visual Studio 菜单中选择“调试”,然后选择“附加到进程”。

  5. 在“附加到进程”对话框中,找到“类型”列值为“Silverlight, x86”的“iexplore.exe”进程。

  6. 选择该进程并按“附加”,以关闭对话框并开始调试。

  7. 在您的 Silverlight 应用程序项目中,设置一个断点。

  8. 刷新浏览器窗口或在 Silverlight 应用程序中,执行测试代码所需的操作。

另请参阅

创建可访问的 Web 资源
Microsoft Dynamics 365 的 Web 资源
网页 (HTML) Web 资源
CSS Web 资源
脚本 (JScript) Web 资源
数据 (XML) Web 资源
图像(JPG、PNG、GIF、ICO)Web 资源
样式表 (XSL) Web 资源

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权