Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Введение

В этой статье описывается накопительный пакет исправлений 2996568, доступный для Microsoft .NET Framework 4.5, платформа.NET Framework 4.5.1 и платформа.NET Framework 4.5.2. Дополнительные сведения о проблемах, которые накопительный пакет исправлений устраняет обратитесь к разделу «Дополнительные сведения».

Этот накопительный пакет обновления доступен для следующих операционных систем:

  • Windows Server 2008 R2 с пакетом обновления 1

  • Windows 7 с пакетом обновления 1

  • Windows Server 2008 с пакетом обновления 2

  • Windows Vista с пакетом обновления 2


Решение

Исправление от корпорации Майкрософт доступно. Тем не менее оно предназначено только для устранения проблемы, указанной в данной статье. Предлагаемое исправление должно применяться исключительно в системах, в которых обнаружена эта специфическая неполадка.

Чтобы устранить эту проблему, обратитесь в службу поддержки пользователей Майкрософт для получения исправления. Полный список телефонов службы поддержки клиентов корпорации Майкрософт и сведения о стоимости поддержки посетите следующий веб-сайт корпорации Майкрософт:

http://support.microsoft.com/contactus/?ws=supportПримечание. В особых случаях оплата, предусмотренная за обращение в службу поддержки может быть отменена, если специалист службы технической поддержки Майкрософт определит, что обновление будет решением проблемы. Затраты на обычные услуги службы поддержки будут применяться к дополнительным вопросам и проблемам, которые не охватываются конкретным обновлением.

Дополнительные сведения

Предварительные условия

Для установки этого исправления необходимо иметь .NET Framework 4.5, платформа.NET Framework 4.5.1 или 4.5.2 установлена платформа.NET Framework.

Необходимость перезагрузки

Необходимо перезагрузить компьютер после установки исправления, если используются все файлы. Рекомендуется закрыть все приложения платформа.NET Framework перед установкой исправления.

Сведения о замене исправлений

Данное исправление не заменяет ранее выпущенные исправления.


















Проблемы, которые устраняет этот накопительный пакет исправлений

Проблема 1

Это исправление устраняет следующие проблемы двух потоков System.IO.Packaging при использовании .NET Framework 4.5, платформа.NET Framework 4.5.1 или платформа.NET Framework 4.5.2.

  • При использовании больших пакетов в отдельных потоках может произойти взаимоблокировка. System.IO.Packaging IsolatedStorage используется для пакетов, размер которых превышает 10 мегабайт (МБ). Если два или более потоков пакетов больших размеров, может произойти взаимоблокировка, даже если пакеты являются независимыми. Взаимоблокировки включает в себя два потока. Одна находится в состоянии ожидания в IsolatedStorageFile.Lock в то время как другой находится в ожидании другого метода класса IsoloatedStorageFile . Данная проблема решается путем добавления System.IO.Packaging , чтобы избежать в IsolatedStorageFileсинхронизации.

  • Исключения могут возникать при извлечении PackageProperties из пакетов, которые открываются в отдельных потоках, даже если пакеты являются независимыми. Ниже приведены наиболее распространенные стеки вызовов, возникающих из этого:System.Xml.XmlException: Unrecognized root element in Core Properties part. Line 2, position 2. atMS.Internal.IO.Packaging.PartBasedPackageProperties.ParseCorePropertyPart(PackagePart part) at
    System.IO.Packaging.Package.get_PackageProperties()
    System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: id atMS.Internal.IO.Packaging.PartBasedPackageProperties.ParseCorePropertyPart(PackagePart part) at
    System.IO.Packaging.Package.get_PackageProperties()
    Данная проблема возникает из-за конкуренции на общем ресурсе внутренних и разрешается путем предоставления каждого пакета копию этого ресурса.


Проблема 2

В приложении Windows Presentation Foundation (WPF) может использовать большой объем памяти при получении много запросов для службы UIAutomation . Память принадлежит объекты из пространства имен System.Threading . Это включает в себя System.Threading.CancellationTokenSource, System.Threading.TimerQueueTimer, System.Threading.Timerи несколько связанных классов.

Они являются объектами, которые являются выделенной WPF при WPF получает запрос на действие UIAutomation . В конечном итоге они выпускаются до истечения срока ожидания для запроса (обычно трех минут). Если запросы поступают быстро, кажется, что приложение нехватку памяти или использовать больше памяти, чем то, что является разумным (сильнее, чем 500 МБ).

Эта проблема решена, выпустив объектов после завершения запроса, а не ожидать тайм-аута крайнего срока.

Проблема 3

В приложении WPF при вводе текста с помощью корейского ввода метода (IME), свойство Text элемента управления ComboBox редактируемый не изменяется правильно в некоторых случаях.

Проблемы возникают различные проблемы, и это зависит от того, как приложение (или автором элемента управления) настроил ComboBox. Например:

  • После ввода и немедленно вкладке (или переместите фокус на другой элемент управления), отображаемый текст со списком возвращается пустая строка или значение, которое он имел перед вводом.

  • Некорректное поведение функции TextSearch ComboBox . Не соответствует префикс, который был введен или он соответствует несвязанных элементов.

Данная проблема устранена в исправлении логики, в соответствии с временем, немного отличается от других редакторы методов ввода IME для корейского языка.

Проблема 4

После выполнения операции и перетаскивания в приложении WPF с помощью касания, далее жест касания игнорируется.

Данная проблема устранена путем восстановления после завершения операции перетаскивания-внутреннее состояние обработчика сенсорного ввода. Таким образом он вычисляет положение Далее жест касания правильно.

Вопрос 5

Новая реализация помощью класса AuthenticationManager можно при необходимости включить получить высокую производительность при работе с пользовательской IAuthenticationModules.

Примечание. Основные угрозы безопасности отображаются, если код не может быть потокобезопасным. Изменение поведения основных расположен на методы PreAuthenticate и проверки подлинности . Ранее она была гарантирована последовательно выполнение кода (глобальная блокировка была сделана). В новой реализации не блокировка и код клиента необходимо обеспечить потокобезопасность.
Кроме того в новой реализации PrefixLookup размер кэша может управляться через реестр.

Чтобы включить и настроить максимальную длину PrefixLookupможно использовать следующий раздел реестра:

  • Глобальная конфигурация[HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\.NETFramework\v4.0.30319]"System.Net.AuthenticationManager.HighPerformance"=dword:00000001
    "System.Net.AuthenticationManager.PrefixLookupMaxCount"=dword:00010000

  • Конфигурация локального приложения[HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\.NETFramework\v4.0.30319\System.Net.AuthenticationManager.HighPerformance]"c:\myapp\myapp.exe"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE[\Wow6432Node]\Microsoft\.NETFramework\v4.0.30319\System.Net.AuthenticationManager.PrefixLookupMaxCount]
    "c:\myapp\myapp.exe"=dword:00010000

Глобальные параметры имеют приоритет над параметрами локального приложения. Параметры глобальных и локальных приложений могут быть смешанными. Если параметр высокопроизводительную глобальные или локальные приложения установлено значение DWORD 1 PrefixLookupMaxCount не затрагиваются.

Проблема 6

Предполагается выполнение приложения на основе .NET Framework 4.5, платформа.NET Framework 4.5.1 или платформа.NET Framework 4.5.2. Приложение создает исключение в управляемый метод, была вызвана из машинного кода и COM-интерфейс был передан по ссылке. В этом случае приложение может аварийно завершить работу.

Например: приложения, написанного на VB6 вызывает библиотеку DLL C#. Если приложение и библиотека DLL компилируются в режиме выпуска при исключения в коде C#, происходит нарушение прав доступа и завершает работу приложения.

Проблема 7

При удаленных объектов, которые определяются задачи для создания XAML проектов рабочих процессов на основе XAML занять дольше, чем время аренды по умолчанию (5 минут), появляется сообщение об ошибке, подобное приведенному ниже:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.XAML.targets(193,5): ошибка XC1000: XC1020: Ошибка построения в задаче XAML MSBuild: "объект" / cc8d6dcf_823f_4ce0_aaad_fb1d3f85e42b/mzr1is8dfgy6yqtpnhegu6pt_4.rem "был отсоединен или не существует на сервере."

После установки данного исправления можно определить собственное время аренды (в минутах) путем определения переменной среды с именем XamlBuildTaskRemotingLeaseLifetimeInMinutes.

Чтобы задать переменную среды в файле проекта, для MSBuild, необходимо включить следующую информацию в файле проекта:<Project ...> <UsingTask TaskName="MySetEnv" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" >
<ParameterGroup>
<Name Required="true" />
<Value Required="false" />
</ParameterGroup>
<Task>
<Code Type="Fragment" Language="cs">System.Environment.SetEnvironmentVariable(Name, Value);</Code>
</Task>
</UsingTask>
...
...
<Target Name="BeforeBuild">
<MySetEnv Name="XamlBuildTaskRemotingLeaseLifetimeInMinutes" Value="1440" />
</Target>
<Target Name="AfterBuild">
<MySetEnv Name="XamlBuildTaskRemotingLeaseLifetimeInMinutes" Value="" />
</Target>
</Project>
Имя задачи в данном примере — MySetEnv. Его можно задать любую строку, допустимую для названия задач. Этот пример задает время аренды 1440 минут (один день) перед построением проекта и задает для него значение null после построения. Если имеются несколько проектов, которые требуется расширить время аренды, каждый проект должен этой конфигурации.

Проблема 8

При использовании обратной передачи AJAX на странице иногда обратный запрос перенаправляется на другой URL-адрес. Можно получить RedirectLocation в HttpModule через HttpContext.Items["System.Web.UI.PageRequestManager:AsyncPostBackRedirectLocation"].

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×