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

Для развертывания этого накопительного пакета обновления, перейдите к следующей статье базы знаний Майкрософт и загрузите накопительный пакет исправлений правильный:

2925383 накопительный пакет исправлений 2925383 доступен для платформа.NET Framework 4.5.1 в Windows

Введение

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

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

  • Windows 8

  • Windows Server 2012


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

Сведения об исправлении

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

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

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

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

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

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

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

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

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


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

Проблема 1

Symptoms

Предположим, вызывается метод Application.DoEvents() из обработчика событий ValueChanged для элемента управления NumericUpDown . Например можно использовать следующий код:private void numericUpDown1_ValueChanged(object sender, EventArgs e){
for (int i = 0; i < 10; i++)
{
Application.DoEvents();
Thread.Sleep(10);
}
}
При нажатии вверх или кнопку со стрелкой вниз на несколько секунд, создает элемент управления timer для создания повторяющихся увеличивает или уменьшает значение. В Application.DoEvents тактов таймера выполняется снова. В этом случае новое событие ValueChanged . Затем снова введите обработчика событий tick таймера. При отпускании кнопки мыши, таймер уничтожается в обработчике в нижней части стека, но затем повторно используется снова как стек развертывается обработчиками. В результате сбоя и исключение null reference.



Временное решение

Чтобы обойти эту проблему, используйте BeginInvoke для асинхронного вызова ( Application.DoEvents) после обработки события таймера. Например можно используйте следующий класс для переопределения поведения по умолчанию:public class MyNumericUpDown : System.Windows.Forms.NumericUpDown{
public NumericUpDown() : base()
{
}
protected override void OnValueChanged(EventArgs e)
{
// run the handler as a separate event to prevent re-entrance to prevent a NullRef when hitting.
if (IsHandleCreated)
BeginInvoke(new Action(() => base.OnValueChanged(e)));
else
base.OnValueChanged(e);
}
}
Примечание. Как правило не рекомендуется ввести цикл обработки сообщений (Application.DoEvents) из обработчика сообщений (ValueChanged вызывается из обработчика сообщений Timer.OnTick ), так как это может привести к переполнению стека. Например большой диапазон элемента управления NumericUpDown , а пользователь удерживает кнопку со стрелкой вниз в течение длительного времени. Используйте BeginInvoke , чтобы избежать переполнения стека. Данное исправление не устраняет эту проблему.

Проблема 2

Симптомы

Копирование форматированный текст из длинного документа XPS может занять несколько минут в зависимости от положения текста в документе и может вызвать приложение для закрепления.

Cause

Эта проблема возникает, потому что некоторые объявления форматирования требуется сканирование документа от начала до нужного фрагмента. Эти объявления встречаются редко (они поставляются из настраиваемых элементов, имеющих атрибут TextElementEditingBehaviorAttribute , который не помечен как IsTypographicOnly).

Логика изменения в данное исправление, чтобы избежать дорогостоящих сканирования при такие объявления не отображаются в нужный выбор.

Проблема 3

Симптомы

В конце текста TextBlock Windows Presentation Foundation (WPF) может отображаться один или несколько символов. Эта проблема возникает при выполнении следующих условий:

  • TextWrapping или TextTrimming включена.

  • Заполнение не равен нулю, или TextFormattingMode является «Отображение».

  • Ширина не задано или задано значение «Auto».

  • Ширины привести FontFamily, FontSize и определенных символов в тексте.

Cause

Эта проблема возникает из-за неточности (округление ошибка), возникающие при расчете ширины текста, преобразование между внутренними системами координат, учета для заполнения и выравнивание текста к границам пикселов для режима отображения.

Защиту от такого рода неточности был добавлен для вычислений, чтобы убедиться в том, что будут отображаться все символы, которые должны отображаться.

Проблема 4

Закрепляющие объектов может привести к слишком большой фрагментации памяти, что приводит к снижению производительности. Это исправление обеспечивает более эффективное повторное использование буферов памяти, которое сводит к минимуму фрагментации памяти.

Вопрос 5

В некоторых случаях приложения могут возникнуть нарушение прав доступа во время AppDomain завершает работу после фоновой операции сборки мусора.

Проблема 6

Средства диагностики, которые с помощью интерфейса API для профилирования инструментирования промежуточного языка может привести к следующим необработанное исключение возникнет исключение, общеязыковая среда выполнения (CLR):

0X80131401» = SECURITY_E_INCOMPATIBLE_SHARE. Загрузка данной сборки приведет к появлению другого набора прав от других экземпляров.


Кроме того сбоя процесса. Эта проблема возникает только при использовании средств диагностики.

Проблема 7

При использовании Windows Communication Foundation (WCF) 4.5 точку расширяемости HttpMessageHandler (также известный как конвейер WCF HTTP), невозможно задать заголовок WWW-Authenticate HttpRequestMessage или HttpResponseMessage. Это происходит потому, что новая точка расширяемости HttpMessageHandler использует другой механизм для обработки заголовков.

После установки данного исправления четности добавляются два механизма для добавления заголовков и один должен быть снова добавить заголовки WWW-Authenticate.

Проблема 8

Исключение NullReferenceException из метода SqlInternalConnectionTds.BreakConnection . Это исправление устраняет ошибки синхронизации, приводит к исключения NullReferenceException .

Проблема 9

Симптомы

Предположим, что имеется приложение WCF, использующее класс BinaryMessageEncoder и кодировщик использует UTF-8 на основе текстовая запись на [MC-NBFX]. Или Предположим, что приложение WCF, с использованием метода System.ServiceModel.Channels.Message.CreateBufferedCopy . Сообщение обрабатывается, содержащего символы в диапазоне от U + 10000 до U + 10FFFF (включительно), представляются в кодировке UTF-8, как последовательность 4 байта. В этом случае закодированный двоичного сообщения могут быть утеряны, и появляется следующее сообщение об ошибке:

System.ArgumentException: The output char buffer is too small to contain the decoded characters, encoding 'Unicode (UTF-8)' fallback 'System.Text.DecoderExceptionFallback'.Parameter name: chars
at System.Text.Encoding.ThrowCharsOverflow()
at System.Text.Encoding.ThrowCharsOverflow(DecoderNLS decoder, Boolean nothingDecoded)
at System.Text.UTF8Encoding.GetChars(Byte* bytes, Int32 byteCount, Char* chars, Int32 charCount, DecoderNLS baseDecoder)
at System.Text.DecoderNLS.GetChars(Byte* bytes, Int32 byteCount, Char* chars, Int32 charCount, Boolean flush)
at System.Text.DecoderNLS.GetChars(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex, Boolean flush)
at System.Text.DecoderNLS.GetChars(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex)
at System.Xml.ValueHandle.TryReadChars(Char[] chars, Int32 offset, Int32 count, Int32& actual)
at System.Xml.XmlBaseReader.ReadValueChunk(Char[] chars, Int32 offset, Int32 count)
at System.Xml.XmlBinaryWriter.WriteTextNode(XmlDictionaryReader reader, Boolean attribute)
at System.Xml.XmlDictionaryWriter.WriteNode(XmlDictionaryReader reader, Boolean defattr)
at System.ServiceModel.Channels.ReceivedMessage.OnWriteBodyContents(XmlDictionaryWriter writer)
at System.ServiceModel.Channels.Message.OnWriteMessage(XmlDictionaryWriter writer)
at System.ServiceModel.Channels.Message.OnCreateBufferedCopy(Int32 maxBufferSize, XmlDictionaryReaderQuotas quotas)
at System.ServiceModel.Channels.StreamedMessage.OnCreateBufferedCopy(Int32 maxBufferSize)
at System.ServiceModel.Channels.Message.CreateBufferedCopy(Int32 maxBufferSize)
at ConsoleApplication1.BufferRequestChannel.WrappingRequestContext.BufferMessage()

В этом случае время ожидания клиента без ответа при размещении приложения WCF. Если приложение WCF веб узле (ASP.NET), клиент получит ошибку сервера 500.

Причина

Эта проблема возникает из-за это внутренняя деталь реализации, иногда выделяет недостаточно места при декодировать последовательности символов 4 байта UTF-8.

Решение

Чтобы устранить эту проблему, установите исправление. После установки исправления приложения WCF будет ожидать следующего
Метод Read для декодирования символов, если не хватает места в выходном буфере для декодирования многобайтовых символов Юникод.

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

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

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

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

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

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

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

×