Issues that this hotfix rollup resolves
Issue 1In the .NET Framework 4.5, keyboard navigation in a WPF
TreeView does not work correctly when a
TreeViewItem contains a focusable element such as a
Button,
Check Box, or
Text Box. Pressing the Up Arrow or Down Arrow may change the focus to the wrong element, or may not change the focus at all.
The hotfix resolves this problem so that the Up Arrow and Down Arrow always change the focus to the correct element.
Issue 2When you call
GlyphRun.InkBoundingBox() or any of its dependents such as
FormattedText.Extent in a WPF application, the return values are slightly larger in the .NET Framework 4.5 than in the .NET Framework 4.0. The .NET Framework 4.0 had a bug that sometimes occurred in which text was not drawn (depending on the font, font size, and the specific characters). The bug was fixed in the .NET Framework 4.5 by enlarging the ink bounding box slightly.
This hotfix adds a configuration flag to opt out of the fix. An application that opts out will have the same return values as in the .NET Framework 4.0, but may also encounter the "disappearing text" bug.
To opt out of the fix, add the following key to the
appSettings section of the application's configuration file:
<add key="IncludeAllInkInBoundingBox" value="false"/>
Issue 3Consider the following scenario:
- You have an ASP.NET web project in which web pages implements client callbacks programmatically without postbacks.
- The form's action is an international domain name URL (for example, the URL's domain name contains Unicode characters).
- The client is using Internet Explorer 10 or an earlier version of Internet Explorer.
In this scenario, the client webpage does not work. For example, nothing happens when you click a button that is supposed to trigger a callback.
Issue 4Assume that you create a
System.Workflow.Activities.StateMachineWorkflowActivity class together with an
Activities property that specifies an
ActivitiesCollection list. The list contains many activities (for example, 300 or more activities) that include State and non-State activities.
In this situation, transitions to State activities that are near the end of the
ActivitiesCollection list take much more time to finish than transitions to State activities that are near the beginning of the list.
This hotfix removes unnecessary
ActivitiesCollection list traversals when it searches for the target State activity by name during a state transition. Therefore, less time is required to transition to State activities that are near the end of the
ActivitiesCollection list.
Issue 5Assume that WCF performance counters are enabled. However, some instance names are shortened because they are longer than 64 characters. Additionally, two shortened instance names may be the same. In this scenario, WCF does not create the counter instances as expected.
To enable this hotfix, add the following line to
appSettings in your configuration file:
<appSettings>
<add key=" wcf:ensureUniquePerformanceCounterInstanceNames " value="true" />
</appSettings>
After this setting is enabled, WCF will detect if two instance names conflict, and will add an eight-digit hexadecimal hash to the end of one of the names. This lets both instances be created successfully.
Issue 6Assume that you use WCF as a mid-tier client for a website or web service to communicate with a load-balanced back-end service over HTTP. Additionally, one of the back-end hosts is in a failed state that returns HTTP responses together with a "500" status code.
In this situation, the connection to the failed back-end host persists in the WCF
ChannelFactory connection pool because it returns valid HTTP responses and causes a high rate of failed requests. There is no mechanism available to remove a connection to a failed host that could lead to front-end requests failing.
To enable this hotfix, add the following line to
appSettings in your configuration file:
<appSettings>
<add key="wcf:httpTransportBinding:useUniqueConnectionPoolPerFactory" value="true"/>
</appSettings>
After this hotfix is enabled, each instance of
ChannelFactory that is created and that uses the HTTP transport will have a separate pool of connections. This lets developers partition their connections into separate pools through instantiating multiple
ChannelFactory objects. By doing this, a connection to a failed host can be dropped by closing the
ChannelFactory instance that is associated with the connection to the failed host. When a
ChannelFactory instance is closed, the connections in the pool do not have to be immediately closed because they are controlled by the pooling behavior of the
ServicePointManager class. It is important to set a low default idle time-out if many
ChannelFactory objects are being created and closed in order to prevent a situation in which many idle connections are in a pending closure state.
Issue 7Assume that you want to support lots of concurrent downloads or uploads to a WCF service that exposes a
WebHttpBinding endpoint. Large data content transfers by using streaming mode (instead of buffered mode) will cause the service to experience performance issues regardless of whether a
DispatcherSynchronizationBehavior is added.
After you apply this hotfix, WCF will use asynchronous processing that greatly increases the performance of multiple concurrent downloads and uploads.
This hotfix is enabled when the
AsynchronousSendEnabled property of the
DispatcherSynchronizationBehavior is set to
true. To disable it, remove the
dispatcherSynchronizationBehavior, or explicitly set the
AsynchronousSendEnabled property to
false:
<system.ServiceModel>
<behaviors>
<endpointBehaviors>
<behavior name="MyEndpointBehavior">
<dispatcherSynchronization asynchronousSendEnabled="false" maxPendingReceives="5" />
</behavior>
</endpointBehaviors>
</behaviors>
</system.ServiceModel>
Issue 8Assume that you apply the September 2014 Russian time zone update (
Update 2998527) on your computer. When you have an application that uses the Microsoft .NET Framework and
TimeZoneInfo class, the application may calculate time incorrectly. See
Update 3012229 for additional details.
This hotfix corrects the base time zone offset look-ups.
Issue 9Assume that you have a WPF application that opens a window in the main window. When you resize the second window, the application crashes and throws a null pointer exception.