Masuk dengan Microsoft
Masuk atau buat akun.
Halo,
Pilih akun lain.
Anda memiliki beberapa akun
Pilih akun yang ingin Anda gunakan untuk masuk.

Untuk menerapkan Batal hotfix ini, pergi ke artikel Pangkalan Pengetahuan berikut dan men-download rollup hotfix yang benar:

2925383 pembatalan Hotfix 2925383 tersedia untuk .NET Framework 4.5.1 di Windows

Pendahuluan

Artikel ini menjelaskan hotfix rollup 2908385 yang tersedia untuk Microsoft .NET Framework 4.5.1. Untuk informasi selengkapnya tentang masalah yang menyelesaikan perbaikan terbaru, lihat bagian "Informasi selengkapnya".

Batal hotfix ini tersedia untuk sistem operasi berikut:

  • Windows 8

  • Windows Server 2012


Informasi lebih lanjut

Informasi hotfix

Sekarang tersedia hotfix yang didukung dari Microsoft. Namun, ini ditujukan untuk memperbaiki masalah yang dijelaskan di artikel ini. Terapkan hanya ke sistem yang mengalami masalah khusus ini.

Untuk mengatasi masalah ini, hubungi layanan dukungan pelanggan Microsoft untuk mendapatkan hotfix. Untuk daftar lengkap nomor telepon layanan dukungan pelanggan Microsoft dan informasi mengenai biaya dukungan, kunjungi website Microsoft berikut:

http://support.microsoft.com/contactus/?ws=supportCatatan Dalam kasus tertentu, biaya yang biasanya diadakan untuk panggilan dukungan mungkin dibatalkan apabila profesional dukungan Microsoft menentukan bahwa pembaruan khusus akan memecahkan masalah Anda. Biaya dukungan biasa akan berlaku untuk pertanyaan dan masalah yang tidak termasuk pada pembaruan tertentu yang dimaksud dukungan tambahan.

Prasyarat

Untuk menerapkan hotfix ini, Anda harus memiliki .NET Framework 4.5.1 diinstal.

Persyaratan menghidupkan ulang

Anda harus memulai ulang komputer setelah menerapkan hotfix ini jika berkas yang terpengaruh sedang digunakan. Kami sarankan Anda menutup semua aplikasi berbasis .NET Framework sebelum menerapkan hotfix ini.

Informasi penggantian hotfix

Paket hotfix ini tidak menggantikan paket hotfix yang diedarkan sebelumnya.


Masalah yang Batal hotfix ini menyelesaikan

Masalah 1

Symptoms

Misalnya Anda memanggil metode Application.DoEvents() dari pengendali kejadian ValueChanged kontrol NumericUpDown . Misalnya, Anda menggunakan kode berikut:private void numericUpDown1_ValueChanged(object sender, EventArgs e){
for (int i = 0; i < 10; i++)
{
Application.DoEvents();
Thread.Sleep(10);
}
}
Ketika naik atau tombol panah ditekan untuk beberapa detik, kontrol membuat timer untuk menghasilkan ulang kenaikan atau usaha. Dalam Application.DoEvents strip timer ditangani lagi. Hal ini menyebabkan peristiwa ValueChanged baru. Kemudian, Anda masuk kembali penanganan kejadian strip timer. Ketika meluncurkan tombol mouse, timer hancur dalam penanganan di bagian bawah tumpukan, tetapi kemudian kembali lagi sebagai memori yang sedang dibatalkan oleh penangan lainnya. Ini mengakibatkan pengecualian referensi kosong dan lumpuh.



Pemecahan masalah

Untuk mengatasi masalah ini, gunakan BeginInvoke untuk panggilan ( Application.DoEvents) asinkron setelah peristiwa timer diproses. Sebagai contoh, menggunakan kelas berikut ini untuk menggantikan perilaku default: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);
}
}
Catatan Umumnya, kami tidak menyarankan bahwa Anda masuk kembali pesan loop (Application.DoEvents) dari penanganan pesan (ValueChanged diangkat dari penanganan pesan Timer.OnTick ), karena ini dapat menyebabkan overflow memori. Misalnya, kisaran kontrol NumericUpDown besar, dan pengguna memegang tombol panah untuk waktu yang lama. Gunakan BeginInvoke untuk menghindari overflow memori. Hotfix ini tidak mengatasi masalah ini.

Masalah 2

Gejala

Menyalin teks yang diformat dari dokumen XPS panjang dapat memakan waktu beberapa menit, tergantung pada posisi teks dalam dokumen, dan dapat menyebabkan aplikasi membeku.

Cause

Masalah ini terjadi karena beberapa Deklarasi format memerlukan pemindaian dokumen dari awal hingga pilihan yang diinginkan. Deklarasi ini jarang terjadi (mereka berasal dari unsur-unsur kustom yang memiliki atribut TextElementEditingBehaviorAttribute yang tidak ditandai IsTypographicOnly).

Logika yang diubah dalam hotfix ini untuk menghindari pemindaian murah saat deklarasi semacam itu tidak ditampilkan dalam pilihan yang diinginkan.

Masalah 3

Gejala

TextBlock Windows Presentation Foundation (WPF) mungkin tidak menampilkan satu atau lebih karakter di akhir teks. Masalah ini terjadi jika kondisi berikut benar:

  • TextWrapping atau TextTrimming diaktifkan.

  • Padding bukan nol, atau TextFormattingMode "Tampilan."

  • Lebar tidak ditetapkan, atau ditetapkan ke "Auto."

  • FontFamily, ukuran tulisan, dan karakter khusus dalam teks menyebabkan lebar menguntungkan.

Cause

Masalah ini terjadi karena numerik ketidakakuratan (round-off galat) yang dapat terjadi saat komputasi lebar teks, mengubah lebar antara sistem koordinat internal, padding, dan penyelarasan teks piksel batas untuk mode tampilan.

Perlindungan terhadap jenis ketidakakuratan telah ditambahkan untuk perhitungan, untuk memastikan bahwa semua karakter yang akan ditampilkan akan ditampilkan.

Masalah 4

Objek fasilitas "Pin" dapat menyebabkan terlalu banyak timbunan memori fragmentasi, menyebabkan penurunan kinerja. Perbaikan ini menyediakan lebih efisien penggunaan memori buffer, yang meminimalkan timbunan memori fragmentasi.

Masalah 5

Kadang-kadang, aplikasi dapat mengalami pelanggaran akses pengecualian selama AppDomain mati setelah latar belakang operasi pengumpulan sampah.

Masalah 6

Alat diagnostik yang melakukan IL instrumentasi menggunakan profil API dapat mengakibatkan pengecualian ditangani berikut ini untuk dilemparkan oleh waktu jalan bahasa Umum (CLR):

0X80131401 "= SECURITY_E_INCOMPATIBLE_SHARE. Memuat rakitan ini akan menghasilkan hibah berbeda dari item lain.


Selain itu, proses lumpuh. Masalah ini hanya terjadi saat Anda menggunakan alat diagnostik.

Masalah 7

Ketika Anda menggunakan Windows komunikasi Foundation (WCF) 4.5 HttpMessageHandler titik Ekstensibilitas (juga dikenal sebagai WCF HTTP pipa), kop autentikasi WWW tidak ditetapkan pada HttpRequestMessage atau HttpResponseMessage. Hal ini karena titik Ekstensibilitas HttpMessageHandler baru menggunakan mekanisme yang berbeda untuk menangani header.

Setelah Anda menerapkan perbaikan terbaru ini, dua mekanisme untuk menambahkan kop dibawa ke paritas, dan satu harus dapat menambahkan kop autentikasi WWW lagi.

Masalah 8

Pengecualian NullReferenceException dilemparkan dari metode SqlInternalConnectionTds.BreakConnection . Perbaikan terbaru ini memecahkan masalah waktu yang mengarah ke NullReferenceException pengecualian.

Masalah 9

Gejala

Misalnya Anda memiliki aplikasi WCF yang menggunakan kelas BinaryMessageEncoder , dan encoder menggunakan UTF-8 berbasis teks catatan per [MC-NBFX]. Atau, menganggap bahwa Anda memiliki aplikasi WCF yang menggunakan metode System.ServiceModel.Channels.Message.CreateBufferedCopy . Pesan diproses yang berisi karakter dalam kisaran U + 10000 untuk U + 10FFFF (termasuk) yang ditunjukkan dalam UTF-8 sebagai urutan 4 bita. Dalam situasi ini, biner disandikan pesan mungkin hilang, dan Anda menerima pesan galat berikut:

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

Ketika masalah ini terjadi, klien waktu habis tanpa respons jika aplikasi WCF host sendiri. Jika aplikasi WCF hosting web (ASP.NET), klien akan menerima galat 500 server.

Penyebab

Masalah ini terjadi karena detail penerapan internal yang kadang-kadang mengalokasikan ruang yang tidak cukup saat 4-byte UTF-8 karakter urutan yang diterjemahkan.

Pemecahan masalah

Untuk mengatasi masalah ini, Terapkan hotfix. Setelah Anda menerapkan perbaikan terbaru, aplikasi WCF akan menunggu berikutnya
Baca metode untuk memecahkan kode karakter apabila tersedia cukup ruang di buffer output untuk menyandi multibyte karakter Unicode.

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.

Apakah informasi ini berguna?

Seberapa puaskah Anda dengan kualitas bahasanya?
Apa yang memengaruhi pengalaman Anda?
Dengan menekan kirim, umpan balik Anda akan digunakan untuk meningkatkan produk dan layanan Microsoft. Admin TI Anda akan dapat mengumpulkan data ini. Pernyataan Privasi.

Terima kasih atas umpan balik Anda!

×