Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Para aplicar este pacote cumulativo de hotfix, vá para o seguinte artigo da base de conhecimento e baixe o pacote cumulativo de hotfix correto:

2925383 o pacote cumulativo de Hotfix 2925383 está disponível para o.NET Framework 4.5.1 no Windows

Introdução

Este artigo descreve o pacote cumulativo de hotfixes 2908385 que está disponível para o Microsoft.NET Framework 4.5.1. Para obter mais informações sobre o problema solucionado pelo hotfix, consulte a seção "Mais informações".

Este conjunto de correcções está disponível para os seguintes sistemas operacionais:

  • Windows 8

  • Windows Server 2012


Mais informações

Informações sobre o hotfix

Um hotfix suportado está disponível agora na Microsoft. No entanto, destina-se a corrigir somente o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico.

Para resolver esse problema, contate o Atendimento Microsoft para obter o hotfix. Para obter uma lista completa dos números de telefone do Atendimento Microsoft e informações sobre custos de suporte, visite o seguinte site da Microsoft:

http://support.microsoft.com/contactus/?ws=supportObservação: em alguns casos, as taxas cobradas para chamadas de suporte podem ser canceladas caso um profissional de Suporte da Microsoft determine que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados para questões de suporte adicionais e problemas que não se qualificam à atualização específica em questão.

Pré-requisitos:

Para aplicar esse hotfix, você deve ter o.NET Framework 4.5.1 instaladas.

Requisitos de reinicialização:

Você precisa reiniciar o computador após aplicar este hotfix se quaisquer arquivos afetados estão sendo usados. Recomendamos que você feche todos os aplicativos baseados em.NET Framework antes de aplicar esse hotfix.

Informações de substituição do hotfix:

Este hotfix não substitui um pacote de hotfix lançado anteriormente.


Problemas que este conjunto de correcções resolve

Problema 1

Symptoms

Suponha que você chamar o método Application. DoEvents() do manipulador do evento ValueChanged de um controle NumericUpDown . Por exemplo, você pode usar o código a seguir:private void numericUpDown1_ValueChanged(object sender, EventArgs e){
for (int i = 0; i < 10; i++)
{
Application.DoEvents();
Thread.Sleep(10);
}
}
Quando o backup ou o botão de seta para baixo for pressionado por alguns segundos, o controle cria um timer para gerar repetidas incrementa ou decrementa. No Application. DoEvents o temporizador é tratado novamente. Isso faz com que um novo evento ValueChanged . Em seguida, você reinserir o manipulador de eventos tick do timer. Quando o botão do mouse é solto, o timer é destruído no manipulador na parte inferior da pilha, mas, em seguida, é reutilizado novamente como a pilha está sendo organizada por outros manipuladores. Isso faz com que uma exceção de referência nula e uma falha.



Solução alternativa

Para contornar esse problema, use BeginInvoke chamar ( Application. DoEvents) assincronamente, depois que o evento timer é processado. Por exemplo, use a seguinte classe para substituir o comportamento padrão: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);
}
}
Observação: Em geral, não recomendamos que você reinserir um loop de mensagem (Application. DoEvents) de um manipulador de mensagem (ValueChanged aumentou de manipulador de mensagem de Timer.OnTick ), porque isso pode resultar em estouro de pilha. Por exemplo, o intervalo do controle NumericUpDown é grande e o usuário mantém pressionado o botão de seta por um longo tempo. Use BeginInvoke para evitar o estouro da pilha. Esse hotfix não resolver esse problema.

Problema 2

Sintomas

Copiando texto formatado de um longo documento XPS pode levar vários minutos, dependendo da posição do texto dentro do documento e pode fazer com que o aplicativo para congelar.

Cause

Esse problema ocorre porque algumas declarações de formatação exigem verificação do documento desde o início até a seleção desejada. Essas declarações são raras (eles vêm elementos personalizados que tenham um atributo TextElementEditingBehaviorAttribute que não está marcado como IsTypographicOnly).

A lógica é alterada nesse hotfix para evitar o exame caro quando tais declarações não aparecem na seleção desejada.

Problema 3

Sintomas

Um TextBlock Windows Presentation Foundation (WPF) pode não exibir um ou mais caracteres no final do texto. Esse problema ocorre quando as seguintes condições forem verdadeiras:

  • TextWrapping ou TextTrimming está habilitado.

  • Preenchimento é diferente de zero ou TextFormattingMode é "Exibir".

  • Largura não está definida ou está definida como "Auto".

  • A FontFamily, FontSize e caracteres específicos no texto levam a uma largura desfavorável.

Cause

Esse problema ocorre devido a imprecisões numéricos (um erro arredondar) que podem ocorrer ao calcular a largura do texto, convertendo a largura entre os sistemas de coordenadas internos, contabilidade para preenchimento e alinhar o texto aos limites de pixel para o modo de exibição.

Proteção contra esses tipos de imprecisões foi adicionada para cálculos, para certificar-se de que todos os caracteres que devem ser exibidos serão exibidos.

Problema 4

Fixando objetos podem causar muita fragmentação da heap de memória, causando uma redução no desempenho. Essa correção fornece mais eficiente reutilização de buffers de memória, que minimiza a fragmentação da heap de memória.

Problema 5

Às vezes, um aplicativo pode encontrar uma exceção de violação de acesso durante o AppDomain Desligar após um operação de coleta de lixo em segundo plano.

Problema 6

As ferramentas de diagnóstico que fazer instrumentação IL usando a API de criação de perfil podem causar a seguinte exceção sem tratamento a ser lançada, o common language runtime (CLR):

0X80131401 "= SECURITY_E_INCOMPATIBLE_SHARE. Carregar este assembly produziria uma definição de outras instâncias de concessão diferente.


Além disso, o processo falhar. Esse problema ocorre somente quando você usar ferramentas de diagnóstico.

Problema 7

Quando você usar o ponto de extensibilidade de HttpMessageHandler do Windows Communication Foundation (WCF) 4.5 (também conhecido como o Pipeline HTTP do WCF), o cabeçalho WWW-Authenticate não pode ser definido em HttpRequestMessage ou HttpResponseMessage. Isso ocorre porque o novo ponto de extensibilidade de HttpMessageHandler usa um mecanismo diferente para manipulação de cabeçalhos.

Depois de aplicar esse hotfix, dois mecanismos para adicionar cabeçalhos são trazidos para paridade e um deve ser capaz de adicionar cabeçalhos WWW-Authenticate novamente.

Problema 8

Será apresentada uma exceção de NullReferenceException do método SqlInternalConnectionTds.BreakConnection . Esse hotfix resolve o problema de tempo que leva para a exceção de NullReferenceException .

Problema 9

Sintomas

Suponha que você tem um aplicativo WCF que usa a classe BinaryMessageEncoder e o codificador usa um registro de texto UTF-8 com base por [MC-NBFX]. Ou, suponha que você tenha um aplicativo WCF que usa o método System.ServiceModel.Channels.Message.CreateBufferedCopy . Uma mensagem é processada que contenha caracteres no intervalo de U + 10000 a U + 10FFFF (inclusive) que são representados em UTF-8 como uma sequência de 4 bytes. Nessa situação, a mensagem de binária codificada pode ser perdida e você recebe a seguinte mensagem de erro:

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

Quando esse problema ocorrer, o cliente expire sem uma resposta se o aplicativo WCF é hospedado automaticamente. Se o aplicativo WCF hospedado na web (ASP.NET), o cliente receberá um erro de 500 servidor.

Causa

Esse problema ocorre devido a um detalhe de implementação interna que, às vezes, aloca espaço insuficiente quando são decodificadas sequências de caracteres UTF-8 de 4 bytes.

Resolução

Para resolver esse problema, aplique o hotfix. Após aplicar o hotfix, o aplicativo WCF aguardará o próximo
Método Read para decodificar os caracteres se há espaço suficiente no buffer de saída para decodificar caracteres Unicode multibyte.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×