Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Để áp dụng hotfix này Cập Nhật, bài viết sau trong cơ sở kiến thức và tải xuống bản Cập Nhật đúng hotfix:

2925383 Hotfix rollup 2925383 có .NET Framework 4.5.1 trong Windows

Giới thiệu

Bài viết này mô tả hotfix rollup 2908385 có sẵn cho Microsoft .NET Framework 4.5.1. Để biết thêm thông tin về sự cố hotfix giải quyết, hãy xem phần "Thông tin".

Nhật hotfix này có sẵn cho hệ điều hành sau:

  • Windows 8

  • Windows Server 2012


Thông tin

Thông tin hotfix

Microsoft hiện đã cung cấp bản cập nhật nóng được hỗ trợ. Tuy nhiên, nó là nhằm khắc phục chỉ sự cố mà bài viết này mô tả. Áp dụng cho các hệ thống đang gặp sự cố cụ thể này.

Để khắc phục sự cố này, hãy liên hệ với dịch vụ hỗ trợ khách hàng Microsoft để lấy hotfix. Để biết danh sách đầy đủ số điện thoại Dịch vụ hỗ trợ khách hàng của Microsoft và thông tin về chi phí hỗ trợ, ghé thăm website sau của Microsoft:

http://support.microsoft.com/contactus/?ws=supportLưu ý Trong trường hợp đặc biệt, chi phí thường phát sinh cho cuộc gọi hỗ trợ có thể bị hủy bỏ nếu chuyên viên hỗ trợ Microsoft xác định rằng một Cập Nhật cụ thể sẽ giải quyết vấn đề của bạn. Chi phí hỗ trợ thông thường sẽ áp dụng cho các vấn đề không phù hợp với bản Cập Nhật cụ thể trong câu hỏi và câu hỏi hỗ trợ bổ sung.

Điều kiện tiên quyết

Để áp dụng hotfix này, bạn phải 4.5.1 cài đặt .NET Framework.

Yêu cầu khởi động lại

Bạn phải khởi động lại máy tính sau khi bạn áp dụng hotfix này nếu bất kỳ tệp nào bị ảnh hưởng đang được sử dụng. Chúng tôi khuyên bạn đóng tất cả các ứng dụng dựa trên .NET Framework trước khi bạn áp dụng hotfix này.

Thông tin thay thế cập nhật nóng

Gói hotfix này không thay thế gói hotfix phát hành trước đó.


Hotfix rollup này giải quyết các vấn đề

Vấn đề 1

Symptoms

Giả sử rằng bạn gọi phương pháp () Application.DoEventstừ trình xử lý sự kiện ValueChanged NumericUpDown điều khiển. Ví dụ: bạn sử dụng mã sau đây:private void numericUpDown1_ValueChanged(object sender, EventArgs e){
for (int i = 0; i < 10; i++)
{
Application.DoEvents();
Thread.Sleep(10);
}
}
Khi các lên hoặc xuống nút mũi tên được phát hành cho một vài giây, điều khiển tạo một thời gian để tạo ra liên tục tăng hoặc decrements. Trong Application.DoEvents nhãn giờ được xử lý một lần nữa. Điều này gây ra một sự kiện ValueChanged mới. Sau đó, bạn nhập xử lý sự kiện đánh dấu giờ. Chuột được phát hành, thời gian bị phá hủy trong trình xử lý ở cuối ngăn xếp, nhưng sau đó được tái sử dụng lại như chồng đang được unwound bằng các bộ xử lý khác. Điều này gây ra một ngoại lệ tham chiếu rỗng và sập.



Giải pháp

Để khắc phục sự cố này, sử dụng BeginInvoke để gọi Application.DoEvents() không đồng bộ sau khi sự kiện giờ được xử lý. Ví dụ: sử dụng lớp sau để thay thế chế độ mặc định: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);
}
}
Lưu ý Nói chung, chúng tôi khuyến nghị bạn nhập một vòng lặp thông báo (Application.DoEvents) từ một trình xử lý thông báo (ValueChanged lên từ xử lý thông báo Timer.OnTick ), vì điều này có thể dẫn đến tràn ngăn xếp. Ví dụ: phạm vi điều khiển NumericUpDown lớn, và người dùng có nút mũi tên trong một thời gian dài. Sử dụng BeginInvoke để tránh tràn ngăn xếp. Hotfix này không giải quyết vấn đề này.

Vấn đề 2

Triệu chứng

Sao chép định dạng văn bản từ tài liệu XPS dài có thể mất vài phút, tuỳ thuộc vào vị trí của văn bản trong tài liệu và có thể làm cho ứng dụng đóng băng.

Cause

Sự cố này xảy ra do một số tuyên bố định dạng yêu cầu quét tài liệu từ đầu đến lựa chọn mong muốn. Tuyên bố này rất hiếm (họ đến từ tuỳ chỉnh các yếu tố có thuộc tính TextElementEditingBehaviorAttribute không được đánh dấu IsTypographicOnly).

Logic được thay đổi trong hotfix này để tránh việc quét tốn kém khi không tuyên bố đó xuất hiện trong phần lựa chọn mong muốn.

Vấn đề 3

Triệu chứng

TextBlock Windows Presentation Foundation (WPF) không thể hiển thị một hoặc nhiều ký tự cuối của văn bản. Sự cố này xảy ra khi các điều kiện sau là đúng:

  • TextWrapping hoặc TextTrimming được kích hoạt.

  • Đệm khác không hoặc TextFormattingMode là "Hiển thị".

  • Chiều rộng không được đặt hoặc được đặt thành "Tự động".

  • FontFamily, FontSize và các ký tự cụ thể trong văn bản dẫn đến một chiều rộng không.

Cause

Sự cố này xảy ra vì số không chính xác (vòng ra lỗi thời) có thể xảy ra trong khi chiều rộng của văn bản, chuyển đổi chiều rộng giữa hệ thống tọa độ nội bộ, kế toán đệm và liên kết khu vực văn bản pixel ranh giới Hiển thị chế độ máy tính.

Bảo vệ chống lại các loại không chính xác đã được thêm vào tính toán, để đảm bảo rằng tất cả các ký tự sẽ được hiển thị sẽ hiển thị.

Vấn đề 4

Ghim các đối tượng có thể gây ra quá nhiều phân mảnh bộ nhớ heap, làm giảm hiệu suất. Sửa chữa cung cấp sử dụng lại hiệu quả hơn của bộ nhớ đệm, giảm thiểu phân mảnh bộ nhớ heap.

Vấn đề 5

Đôi khi, một ứng dụng có thể gặp phải một ngoại lệ vi phạm truy nhập trong AppDomain tắt sau nền hoạt động thu gom rác.

Vấn đề 6

Công cụ chẩn đoán làm IL thiết bị bằng cách sử dụng profiling API có thể gây ra ngoại lệ không xử lý sau được ném một thời gian chạy ngôn ngữ chung (CLR):

0X80131401 "= SECURITY_E_INCOMPATIBLE_SHARE. Tải chi tiết này sẽ cung cấp khác một cách khác.


Ngoài ra, quá trình sập. Sự cố này chỉ xảy ra khi bạn sử dụng công cụ chẩn đoán.

Vấn đề 7

Khi bạn sử dụng Windows Communication Foundation (WCF) 4.5 HttpMessageHandler khả năng mở rộng điểm (còn được gọi là WCF HTTP đường ống), tiêu đề WWW xác thực không được đặt trên HttpRequestMessage hoặc HttpResponseMessage. Điều này là do độ rộng HttpMessageHandler mới sử dụng một cơ chế khác nhau để xử lý tiêu đề.

Sau khi bạn áp dụng hotfix này, hai cơ chế để thêm tiêu đề được đưa vào tính chẵn lẻ, và một có thể thêm tiêu đề WWW xác nhận lại.

Vấn đề 8

Ngoại lệ NullReferenceException ném từ phương pháp SqlInternalConnectionTds.BreakConnection . Hotfix này khắc phục sự cố thời gian dẫn đến ngoại lệ NullReferenceException .

Vấn đề 9

Triệu chứng

Giả sử bạn có một ứng dụng WCF sử dụng lớp BinaryMessageEncoder và sử dụng mã hóa sơ UTF-8 dựa trên văn bản theo [MC-NBFX]. Hoặc, giả sử rằng bạn có một ứng dụng WCF sử dụng phương pháp System.ServiceModel.Channels.Message.CreateBufferedCopy . Thông báo được xử lý có chứa các ký tự trong phạm vi U + 10000 đến U + 10FFFF (bao gồm) đã xuất hiện trong UTF-8 là một chuỗi 4 byte. Trong trường hợp này, thông báo mã nhị phân có thể bị mất, và bạn nhận được thông báo lỗi sau:

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()

Khi sự cố này xảy ra, khách hàng hết thời gian mà không có phản hồi nếu ứng dụng WCF tự lưu trữ. Nếu ứng dụng WCF là lưu trữ web (ASP.NET), khách hàng sẽ nhận được lỗi 500 máy chủ.

Nguyên nhân

Sự cố này xảy ra vì một chi tiết trong thực hiện đôi khi phân bổ không đủ dung lượng khi 4 byte UTF-8 ký tự chuỗi được giải mã.

Giải pháp

Để giải quyết vấn đề này, áp dụng hotfix. Sau khi bạn áp dụng hotfix, ứng dụng WCF sẽ đợi tiếp theo
Đọc các phương pháp để giải mã các ký tự, nếu có đủ không gian trong bộ đệm xuất để giải mã ký tự Unicode multibyte.

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×