Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Щоб застосувати цей пакет поточних виправлень, див. в такій статті бази знань і завантажити зведене-вибере виправлення:

2925383 2925383 пакет поточних виправлень доступне для платформи .NET Framework 4.5.1, в ОС Windows

Вступ

У цій статті описується в поточних виправлень 2908385, доступний для Microsoft .NET Framework 4.5.1. Щоб отримати додаткові відомості про проблеми, яка допоможе вирішити проблему, виправлення див. розділ "Додаткові відомості".

Цей пакет поточних виправлень, доступний для таких операційних систем:

  • Windows 8

  • Windows Server 2012


Додаткові відомості

Відомості про виправлення

Корпорація Майкрософт випустила підтримуване виправлення доступна. Проте призначена для вирішення проблеми, які описано в цій статті. Він придатний лише для систем, які зазнають цієї конкретної проблеми.

Щоб вирішити цю проблему, зверніться до служби підтримки Microsoft, щоб отримати виправлення. Повний перелік телефонів служби підтримки користувачів Microsoft а також відомості про вартість обслуговування відвідайте веб-сайт корпорації Майкрософт:

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);
}
}
Якщо за кілька секунд натискання вгору або вниз зі стрілкою вправо, цей елемент керування, створює таймер для створення повторного збільшення або пізнішу. У Application.DoEvents змін-таймер обробки знову. Це призводить до нового ValueChanged -подій. Після цього ви повторно введіть обробник таймер змін. Після випуску кнопки миші таймер знищити в обробнику в нижній частині стек, а потім буде повторно знову, як стек розмотуванні, на інші обробники. Це призводить до помилка нульового посилання та завершує роботу.



Виправлення помилок

Щоб вирішити цю проблему, за допомогою 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

Причини

Блок тексту з вікна подання графіки (WPF) може не відображатися знаки в кінці тексту. Ця проблема виникає, за таких умов:

  • TextWrapping або TextTrimming увімкнуто.

  • Заповнення ненульове або TextFormattingMode "Екран".

  • Ширина не встановлено, або має значення "Авто."

  • FontFamily, FontSize та певні символи в тексті призвести до негативного шириною.

Cause

Ця проблема виникає, через числових неточності (круглий від помилок), яка виникає під час обчислення ширини перетворення між внутрішніх систем координат для заповнення а також узгодження текст до пікселів межі для режим відображення тексту.

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

Помилка 4

Функцію закріплення об'єктів може призвести до забагато динамічної пам'яті фрагментації пам'яті, яка викликає зменшення продуктивності. Це виправлення, забезпечує ефективність повторне використання пам'яті буфера, який згортається динамічної пам'яті пам'яті фрагментації.

Проблема 5

Інколи, застосунок може займати виняток порушення прав доступу під час домен застосунку, вимкнення через фон умісту операції.

Проблема 6

Засоби діагностики, що IL інструментарій за допомогою профілювання 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 буде чекати наступного
Читання метод для декодування символи, якщо недостатньо вільного місця буфера виводу для декодування мультибайтний символи в кодуванні Юнікод.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×