4.5.1 Windows .NET Framework düzeltme toplaması 2908383 kullanılabilir

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 2908383
Duyuru
Bu makalede açıklanan sorunları gidermek için düzeltme toplaması 2974336 yükleyin. Bunu yapmak için aşağıdaki Microsoft Bilgi Bankası makalesine bakın:
2974336 4.5.2, 4.5.1 ve 4.5 Windows .NET Framework düzeltme toplaması 2974336 kullanılabilir
Giriş
Bu makalede Microsoft .NET Framework 4.5.1 kullanılabilir düzeltme toplaması 2908383. Sorunu gideren düzeltme hakkında daha fazla bilgi için "Ek bilgi" bölümüne bakın.

Bu düzeltme toplaması, aşağıdaki işletim sistemlerinde kullanılabilir:
  • Windows Vista Service Pack 2 (SP2)
  • Windows 7 Service Pack 1 (SP1)
  • Windows Server 2008 SP2
  • Windows Server 2008 R2 SP1

Daha fazla bilgi

Düzeltme Bilgileri

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak, bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Bu, yalnızca bu sorunla karşılaşmış olan sistemlere uygulayın.

Bu sorunu çözmek için düzeltmeyi edinmek üzere Microsoft Müşteri Destek Hizmetleri'ne başvurun. Microsoft Müşteri Destek Hizmetleri telefon numaralarının ve destek ücretleriyle ilgili bilgi tam listesi için aşağıdaki Microsoft Web sitesini ziyaret edin:Not Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu belirlerse, normal destek aramaları için normalde uygulanan ücretler iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.

Ön koşullar

Bu düzeltmeyi uygulamak için .NET Framework 4.5.1 yüklü olması gerekir.

Yeniden başlatma gereksinimi

Etkilenen herhangi bir dosya kullanılıyorsa, bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekir. Bu düzeltmeyi uygulamadan önce tüm .NET Framework tabanlı uygulamaları kapatmanızı öneririz.

Düzeltme değiştirme bilgileri

Bu düzeltme paketi 2974336 düzeltme toplaması tarafından değiştirilir.

Bu düzeltme toplaması giderir sorunları

Sorun 1
Belirtiler

Application.DoEvents() yöntem NumericUpDown denetimi ValueChanged olay işleyicisinden çağırır varsayalım. Örneğin, aşağıdaki kodu kullanın:
private void numericUpDown1_ValueChanged(object sender, EventArgs e){ for (int i = 0; i < 10; i++) {   Application.DoEvents();   Thread.Sleep(10); } }
Zaman yukarı veya aşağı ok düğmesini birkaç saniye basılı tutulduğunda, Denetim yinelenen artırır veya azaltır üretmek için bir zamanlayıcı oluşturur. Application.DoEvents timer tick yeniden işlenir. Bu yeni ValueChanged olayı neden olur. Ardından timer tick olay işleyicisini yeniden girin. Fare düğmesi serbest bırakıldığında, Zamanlayıcı yığının altındaki işleyicisinde yok ancak daha sonra tekrar tekrar diğer işleyiciler sapmasına yığını gibi. Bu bir null başvuru özel durumu ve kilitlenmeye neden olabilir.



Geçici çözüm

Bu soruna geçici bir çözüm için BeginInvoke timer olayı işlendikten sonra Application.DoEvents() zaman uyumsuz olarak çağırmak için kullanın. Örneğin, aşağıdaki sınıf varsayılan davranışı geçersiz kılmak için kullanın:
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); }}
Not: Genellikle, çünkü bu için yığın taşmasına neden olabilir (ValueChanged Timer.OnTick ileti işleyicisi oluşturulur) bir ileti işleyicisinden ileti döngüsü (Application.DoEvents) yeniden önerilmez. Örneğin, NumericUpDown denetimi aralığını büyük ve kullanıcı uzun süre aşağı ok düğmesi içerir. BeginInvoke yığın taşması önlemek için kullanın. Bu düzeltme, bu sorunu gidermez.

Sorun 2

Belirtiler
Uzun bir XPS belgesi kopyalama biçimlendirilmiş metin belgesi içindeki metnin konumunu bağlı olarak birkaç dakika sürebilir ve dondurmak uygulama neden olabilir.

Neden

Bazı biçimlendirme bildirimleri istediğiniz seçim en başından belgenin tarama gerektirdiği için bu sorun oluşur. Bu bildirimler ( IsTypographicOnlyolarak işaretlenmemiş bir TextElementEditingBehaviorAttribute özniteliğine sahip özel öğeden geldiklerini) nadirdir.

Mantık böyle bir bildirimleri istediğiniz seçimi görüntülendiğinde pahalı tarama önlemek için bu düzeltmeyi değiştirilir.

Sorun 3
Belirtiler

Windows Presentation Foundation (WPF) TextBlock, metnin sonunda bir veya daha fazla karakter görüntülenmeyebilir. Bu sorun, aşağıdaki koşullar geçerli olduğunda oluşur:
  • TextWrapping veya TextTrimming etkindir.
  • Doldurma sıfır olmayan veya TextFormattingMode "Görüntü"
  • Genişliği ayarlı değil veya "Otomatik" olarak ayarlayın
  • FontFamily FontSize ve özel karakterler metin unfavorable bir genişlik için müşteri adayı.
Neden

Bu sorun, dolgusu ve metin görüntüleme modu için piksel sınırlarına hizalamak için hesap iç koordinat sistemleri arasındaki genişliği dönüştürme metnin genişliğini bilgisayar kullanımı sırasında ortaya çıkabilecek sayısal (bir yuvarlama hatası) yanlışlıklar nedeniyle oluşur.

Bu tür yanlışlıklar karşı koruma hesaplamaları görüntülenmesi gereken tüm karakterler görüntülenir emin olmak için eklenmiştir.

Sorun 4

Sabitleme nesneleri performansında düşüşe neden çok fazla yığın bellek parçalanmasına neden olabilir. Bu düzeltme, yığın bellek parçalanması en aza indirir, bellek arabellekleri, daha verimli yeniden sağlar.

Sorun 5

Bazı durumlarda, bir uygulama AppDomain arka plan sonra çöp toplama işlemi kapatma sırasında erişim ihlali özel durumu karşılaşırsınız.

Sorun 6

Profil oluşturma API'sini kullanarak IL araçları yapmak tanılama araçlarını common language runtime (CLR) tarafından atılan aşağıdaki işlenmeyen özel durum neden olabilir:
0X80131401 "SECURITY_E_INCOMPATIBLE_SHARE =. Bu derlemenin yüklenmesi set diğer örneklerden farklı yetki ortaya çıkaracaktır.

Ayrıca, işlem çöküyor. Tanılama araçlarını kullandığınızda bu sorun yalnızca oluşur.

7 sorun

Windows Communication Foundation (WCF) 4.5 HttpMessageHandler genişletilebilirlik noktası (WCF HTTP ardışık olarak da bilinir) kullandığınızda, WWW-Authenticate üstbilgisi HttpRequestMessage ya da HttpResponseMessageolarak ayarlanamaz. Yeni HttpMessageHandler genişletilebilirlik noktası üstbilgilerini işleme için farklı bir mekanizma kullanıyor olmasıdır.

Bu düzeltmeyi uyguladıktan sonra eşlik için üstbilgi eklemek için iki mekanizma duruma getirilir ve bir WWW-Authenticate üstbilgilerinde olduðu yeniden eklemeniz mümkün olmalıdır.

Sayı 8

SqlInternalConnectionTds.BreakConnection yönteminden bir NullReferenceException özel durum oluşturulur. Bu düzeltme, NullReferenceException özel durumu müşteri adayları zamanlama sorunu giderir.

Sorun 9

Symptoms

BinaryMessageEncoder sınıfını kullanan bir WCF uygulamasının bulunduğunu varsayalım ve temel UTF-8 metin kayıt başına Kodlayıcı kullanır [MC-NBFX]. Ya da System.ServiceModel.Channels.Message.CreateBufferedCopy yöntemini kullanan bir WCF uygulamasının bulunduğunu varsayalım. UTF-8 4 baytlık sıra olarak temsil edilen U + 10000'e U + 10FFFF (dahil) aralığındaki karakterleri içeren bir ileti işlenir. Bu durumda, kodlanmış ikili ileti kaybolabilir ve aşağıdaki hata iletisini alırsınız:

System.ArgumentException: The output char buffer is too small to contain the decoded characters, encoding 'Unicode (UTF-8)' fallback 'System.Text.DecoderExceptionFallback'.Parameter name: charsat 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()

Bu sorun oluştuğunda, kendi kendine barındırılan WCF uygulaması ise, istemci yanıt zaman aşımına uğradı. WCF uygulamasının web tarafından barındırılan (ASP.NET) ise, istemci 500 sunucu hatası alırsınız.

Neden
4 baytlı UTF-8 karakter dizileri çözülür, bazen yeterli yer ayıran bir iç uygulama ayrıntılarını nedeniyle bu sorun oluşur.

Çözüm
Bu sorunu çözmek için düzeltmeyi uygulayın. Düzeltme uygulandıktan sonra WCF uygulamasının sonraki için bekler
Çıkış arabelleğinin çok baytlı Unicode karakter kodunu çözmek için yeterli alan yoksa, karakter kodunu çözmek için Read yöntemi.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 2908383 - Son İnceleme: 08/17/2015 05:51:00 - Düzeltme: 6.0

Microsoft .NET Framework 4.5.1

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2908383 KbMttr
Geri bildirim