微软发布更新包 修复SilverLight中的6个问题

转自:http://www.sacour.cn/post/897.html

微软于4月20日发布了一个针对Silverlight的更新包,知识库编号为KB2526954,其更新内容为“此SilverLight更新改进了安全性、可靠性、可访问性支持和启动性能,增强了业务线支持,并且提供了若干项修复,以更好地支持丰富的Internet应用程序。此更新与使用旧版Silverlight生成的Web应用程序向后兼容。”(This update to Silverlight improves security, reliability, accessibility support, startup performance, enhances line-of-business support and includes several fixes to better support rich internet applications. This update is backward compatible with web applications built using previous versions of Silverlight.),其等级为:重要。

安装补丁前请确定已经安装了Microsoft Silverlight软件,如果未装此软件则无需打此补丁。如果已经安装但仍旧修补失败可以手动下载最新版本Silverlight覆盖安装即可(地址见文末)。

本文来自www.sacour.cn 转载注明来源

补丁包修复了6个问题,分别翻译如下:

问题1:

假定有如下场景:
你使用了HtmlPage.RegisterScriptableObject方法来注册一个脚本类的实例an instance of a scriptable type)。
你启动了一个Silverlight 4程序来启用一个基于JavaScript的脚本来访问这个脚本类的成员。
这个程序使用了模式窗体modal window)模式。

在这个情况下你会收到如下警告信息:
This page has an unspecified potential security risk. Would you like to continue?
此页面包含未查明的潜在的安全隐患。是否继续?


备注:这个通常在一个Microsoft Office 365用户使用Microsoft SharePoint Online时出现。
 

问题2:


假定有如下场景:  
你建立了一个继承了一个Silverlight 4程序中的用户控件。用户控件重载override)了DefaultStyleKey并且增加了一个DependancyProperty;
控件的ControlTemplate属性包含有一个有单个ContentPresenter对象的弹出控件popup control);
对象一定是使用TemplateBinding函数来自定义的DependencyProperty属性;
弹出控件从未打开;
 

在这个情况下,弹出控件的内存并未被资源回收garbage-collected)。因此,将会发生一个内存泄漏问题。

问题3:


假定有如下场景:  
你使用IE9打开了一个Silverlight 4程序。
你将窗口调节为最大化,然后将窗体还原到原来的大小。
 

在这个情况下,窗体内的信息可能不会正确地被显示出来。比如,可能出现一个空白块。这个问题是因为BrowserInteropHelper类不正确地报告了宿主HTML元素的子元素数量。(the children count of an element in the host HTML page).

问题4:


假设你在使用一个包含有DataGrid控件的SilverLight 4程序。控件中每个栏目的大小都不一样。在这个情况下,当你水平卷动控件中的内容时,控件的排版会变得混乱示。


问题5:


假定有如下场景:

你打开了一个使用了DataGrid控件的Silverlight 4程序;
这个控件使用了一个通过INotifyDataErrorInto接口来验证的类; 
INotifyDataErrorInfo.ErrorsChanged 创建了多个事件订阅Multiple event subscriptions); 
 

在这个情况下,DataGrid的内存不会释放。因此,将会发生内存泄露的问题。


问题6:
假设一个Silverlight 4程序中的BindingExpression实例的目标元素是一个TextBlock元素或者DataGridCell对象的TextBox元素。这个情况下,当你运行程序,然后编辑该元素时,DataGrid控件的内存空间不会释放。因此,会导致一个内存泄露的问题。

此次更新新增的特性:

这个更新增加了一个特性,如果以下注册表键被设置了,它将可以设置IsolatedStorageException类的InnerException属性:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Silverlight\IsolatedStorageInnerExceptionsAllowedDomains

此注册表键的键值是以逗号分隔的域名列表。
 

更多信息请访问:

http://support.microsoft.com/kb/2526954

更新信息:

http://go.microsoft.com/fwlink/?LinkId=214306

支持信息:

http://go.microsoft.com/fwlink/?LinkID=105787

手动安装:

http://www.microsoft.com/getsilverlight/Get-Started/Install/Default.aspx

posted @ 2011-11-07 11:39  吃西瓜最快  阅读(592)  评论(0编辑  收藏  举报