Este artigo descreve o 3088956 de rollup de hotfix disponível para o Microsoft .NET Framework 4.6. Para obter mais informações sobre os problemas que o rollup hotfix corrige, confira a seção "Problemas que essa rollup de hotfix corrige".
Resolução
Um hotfix com suporte agora está disponível na Microsoft. No entanto, destina-se a corrigir apenas o problema que este artigo descreve. Aplique-o somente a sistemas que estão enfrentando esse problema específico.Para corrigir esse problema, entre em contato com os Serviços de Suporte ao Cliente da Microsoft para obter o hotfix. Para obter uma lista completa de números de telefone dos Serviços de Suporte ao Cliente da Microsoft e informações sobre os custos de suporte, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportObservação Em casos especiais, os encargos que normalmente são incorridos para chamadas de suporte podem ser cancelados se um Suporte da Microsoft Professional determinar que uma atualização específica corrigirá seu problema. Os custos de suporte usuais se aplicarão a perguntas e problemas de suporte adicionais que não se qualificam para a atualização específica em questão.
Informações adicionais
Pré-requisitos
Para aplicar esse hotfix, você deve ter o .NET Framework 4.6 instalado.
Necessidade de reinicialização
Você precisa reiniciar o computador depois de aplicar esse hotfix se algum arquivo afetado estiver sendo usado. Recomendamos que você feche todos os aplicativos baseados em .NET Framework antes de aplicar esse hotfix.
Informações sobre a substituição de hotfixes
Esse pacote hotfix não substitui um pacote de hotfix lançado anteriormente.
Problemas que esse roll-up de hotfix corrige
Problema 1Se você tiver um site ASP.NET em execução em uma versão de 32 bits do .NET Framework versão 4.6 ou AMD64 da plataforma .NET Framework 4.6 com RyuJit desabilitado, você poderá sofrer uma falha w3wp por causa do ThreadAbortException não manipulado. Quando a falha acontecer, você poderá ver o seguinte log no log de eventos do Windows:
Ocorreu uma exceção sem tratamento e o processo foi encerrado.ID do aplicativo: [ApplicationID]ID do processo: [ProcessID]Exceção: System.Threading.ThreadAbortExceptionMessage: Thread estava sendo abortado.StackTrace: em System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, contexto HttpContext)em System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
Problema 2Suponha que você tenha um cliente WCF se conectando ao serviço WCF usando o Serviço de Roteamento WCF. Se o serviço final gerar qualquer exceção inesperada que não seja um tipo de FaultException ou configurar alterações, o Serviço de Roteamento do WCF poderá não rotear solicitações subsequentes para o serviço final.Quando esse problema ocorrer, você receberá a seguinte exceção:
System.ServiceModel.ProtocolException: esse canal não pode mais ser usado para enviar mensagens, pois a sessão de saída foi fechada automaticamente devido a um desligamento iniciado pelo servidor. Desabilite o fechamento automático definindo o DispatchRuntime.AutomaticInputSessionShutdown como false ou considere modificar o protocolo de desligamento com o servidor remoto.
Informações de rastreamento de pilha:em System.ServiceModel.Channels.ServiceChannel.PrepareCall(operação ProxyOperationRuntime, Boolean oneway, ProxyRpc& rpc)em System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.Begin()at System.ServiceModel.Channels.ServiceChannel.BeginCall(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, TimeSpan timeout, AsyncCallback callback, Object asyncState)em System.ServiceModel.Channels.ServiceChannelProxy.InvokeBeginService(método IMethodCallMessageCall, operação ProxyOperationRuntime)em System.ServiceModel.Channels.ServiceChannelProxy.Invoke(mensagem IMessage)em System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Tipo Int32)em System.ServiceModel.Routing.IRequestReplyRouter.BeginProcessRequest(Message message, AsyncCallback callback, Object state)em System.ServiceModel.Routing.ClientFactory.RequestReplyClient.OnBeginOperation(Message message, AsyncCallback callback, Object state)at System.ServiceModel.Routing.ClientFactory.RoutingClientBase'1.OperationAsyncResult.CallOperation()at System.ServiceModel.Routing.ClientFactory.RoutingClientBase'1.OperationAsyncResult.. ctor(RoutingClientBase'1 pai, Message requestMessage, Transaction transaction, AsyncCallback callback, Object state)at System.ServiceModel.Routing.ClientFactory.RoutingClientBase'1.BeginOperation(Message message, Transaction, AsyncCallback callback, Object state)at System.ServiceModel.Routing.ProcessRequestAsyncResult'1.StartProcessing()em System.ServiceModel.Routing.ProcessRequestAsyncResult'1..ctor(serviço RoutingService, Mensagem de mensagem, retorno de chamada AsyncCallback, estado do objeto)em System.ServiceModel.Routing.RoutingService.BeginProcessRequest[TContract](Mensagem de mensagem, retorno de chamada AsyncCallback, estado do objeto)em System.ServiceModel.Routing.RoutingService.System.ServiceModel.Routing.IRequestReplyRouter.BeginProcessRequest(Mensagem, retorno de chamada asyncCallback, estado do objeto)em AsyncInvokeBeginBeginProcessRequest(Object , Object[] , AsyncCallback , Object )at System.ServiceModel.Dispatcher.AsyncMethodInvoker.InvokeBegin(Instância de objeto, entradas Object[], AsyncCallback callback, Object state) Issue 3Esta é uma atualização para dar suporte ao novo símbolo Georgian Lari. O país da Geórgia introduziu um novo símbolo de moeda para o Lari, mas o nome da moeda não foi alterado. O novo símbolo de moeda também foi adicionado ao padrão Unicode. Essa atualização garante que o símbolo de moeda correto seja exibido pelo .NET Framework com base nas configurações de localidade do sistema.Problema 4Se uma coleção Gen2 ocorrer durante chamadas Parallel.ForEach, você poderá ter travas longas depois de instalar o Visual Studio 2015 ou o .NET Framework 4.6 sem Visual Studio.Resolução:Essa atualização atualiza o Coletor de Lixo resolvendo os congelamentos do sistema causados por esse problema.Problema 5Depois de instalar o .NET Framework 4.6, os métodos DateTime.Parse e Date.TryParse não funcionam corretamente. Esse problema pode ocorrer com as seguintes configurações de cultura:
-
fi-FI
-
nb-NO
-
nb-SJ
-
sr-Cyrl-XK
-
sr-Latn-ME
-
sr-Latn-RS
-
sr-Latn-XK
Resolução:Essa atualização permite que DateTime.Parse e Date.TryParse funcionem corretamente em culturas que usam o mesmo separador de data e hora.Problema 6Depois de instalar o .NET Framework 4.6, o .NET Framework 4.6 usa um novo compilador de 64 bits chamado RyuJIT. Em alguns casos, o novo compilador gera um código incorreto que causa comportamento imprevisível ou falhas. Resolução:Essa atualização corrige muitos problemas no compilador RyuJIT. Se o aplicativo ainda se comportar de forma imprevisível após a instalação desta atualização, consulte diretrizes adicionais de solução de problemas detalhadas.Etapas adicionais: se for determinado que RyuJIT pode estar envolvido em seu problema seguindo as etapas de solução de problemas no link, registre o problema em http://connect.microsoft.com. Inclua o máximo de detalhes possível no relatório e também código para reproduzir o problema.