Tento článek popisuje kumulativní opravu hotfix 3088956, která je k dispozici pro rozhraní Microsoft .NET Framework 4.6. Další informace o problémech, které řeší kumulativní oprava hotfix, najdete v části "Problémy, které tato kumulativní oprava hotfix opravuje".
Řešení
Od Microsoftu je teď k dispozici podporovaná oprava hotfix. Cílem je však opravit pouze problém, který popisuje tento článek. Použijte ho pouze u systémů, u kterých dochází k tomuto konkrétnímu problému.Chcete-li tento problém vyřešit, obraťte se na oddělení podpory zákazníků společnosti Microsoft a požádejte o opravu hotfix. Úplný seznam telefonních čísel služeb zákaznické podpory společnosti Microsoft a informace o nákladech na podporu naleznete na následujícím webu společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=supportPoznámka: Ve zvláštních případech můžou být poplatky účtované za volání podpory zrušeny, pokud podpora Microsoftu Professional zjistí, že konkrétní aktualizace váš problém vyřeší. Obvyklé náklady na podporu se budou vztahovat na další dotazy na podporu a problémy, které nemají nárok na danou konkrétní aktualizaci.
Další informace
Požadavky
Chcete-li nainstalovat tuto opravu hotfix, musíte mít rozhraní .NET Framework 4.6 nainstalována.
Požadavky na restartování
Po instalaci této opravy hotfix je nutné restartovat počítač, pokud jsou použity některé ovlivněné soubory. Před použitím této opravy hotfix doporučujeme zavřít všechny aplikace založené na rozhraní .NET Framework.
Informace o nahrazení opravy Hotfix
Tento balíček oprav hotfix nenahrazuje dříve vydaný balíček oprav hotfix.
Problémy opravené touto kumulativní opravou hotfix
Problém 1Pokud máte ASP.NET web spuštěný na 32bitové verzi rozhraní .NET Framework 4.6 nebo AMD64 platformy .NET Framework 4.6 se zakázaným nástrojem RyuJit, může dojít k chybovému ukončení w3wp kvůli neošetřené výjimce ThreadAbortException. Když dojde k chybovému ukončení, uvidíte v protokolu událostí Windows následující protokol:
Došlo k neošetřené výjimce a proces byl ukončen.ID aplikace: [APPLICATIONID]ID procesu: [ProcessID]Výjimka: System.Threading.ThreadAbortExceptionMessage: Vlákno bylo přerušeno.StackTrace: at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
Problém 2: Předpokládejme, že máte klienta WCF, který se připojuje ke službě WCF pomocí služby WCF Routing Service. Pokud koncová služba vyvolá neočekávanou výjimku, která není typem výjimky FaultException nebo se změní konfigurace, služba Směrování WCF nemusí směrovat následné požadavky na koncovou službu.Když dojde k tomuto problému, zobrazí se následující výjimka:
System.ServiceModel.ProtocolException: Tento kanál už nejde použít k odesílání zpráv, protože výstupní relace byla automaticky uzavřena kvůli vypnutí iniciovaném serverem. Buď zakažte automatické zavření nastavením DispatchRuntime.AutomaticInputSessionShutdown na false, nebo zvažte úpravu protokolu vypnutí pomocí vzdáleného serveru.
Informace o trasování zásobníku:at System.ServiceModel.Channels.ServiceChannel.PrepareCall(Operace ProxyOperationRuntime, Boolean oneway, ProxyRpc& rpc)at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.Begin() at System.ServiceModel.Channels.ServiceChannel.BeginCall(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, TimeSpan timeSpan, AsyncCallback callback, Object asyncState)v System.ServiceModel.Channels.ServiceChannelProxy.InvokeBeginService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)at System.ServiceModel.Routing.IRequestReplyRouter.BeginProcessRequest(Message message, AsyncCallback callback, Object state)at 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 parent, Message requestMessage, Transaction Transaction, AsyncCallback callback, Object state)at System.ServiceModel.Routing.ClientFactory.RoutingClientBase'1.BeginOperation(Message message, Transaction Transaction, AsyncCallback callback, Object State)at System.ServiceModel.Routing.ProcessRequestAsyncResult'1.StartProcessing()v System.ServiceModel.Routing.ProcessRequestAsyncResult'1..ctor(RoutingService service, Message message, AsyncCallback callback, Object state)at System.ServiceModel.Routing.RoutingService.BeginProcessRequest[TContract](Message message, AsyncCallback callback, Object state)at System.ServiceModel.System.ServiceModel.Routing.ServiceModel.Routing.IRequestReplyRouter.BeginProcessRequest(Message message, AsyncCallback callback, Object state)at AsyncInvokeBeginBeginProcessRequest(Object , Object[] , AsyncCallback , Object )at System.ServiceModel.Dispatcher.AsyncMethodInvoker.InvokeBegin(instance objektu, object[] vstupy, zpětné volání AsyncCallback, stav objektu) Problém 3Toto je aktualizace pro podporu nového symbolu Georgian Lari. Země Gruzie zavedla nový symbol měny pro Lari, ale název měny se nezměnil. Nový symbol měny byl také přidán do standardu Unicode. Tato aktualizace zajišťuje, že se v rozhraní .NET Framework na základě nastavení národního prostředí systému zobrazí správný symbol měny.Problém 4Pokud během volání Parallel.ForEach dojde ke kolekci Gen2, může po instalaci sady Visual Studio 2015 nebo rozhraní .NET Framework 4.6 bez sady Visual Studio dojít k dlouhému zablokování.Řešení: Tato aktualizace aktualizuje systém uvolňování paměti tím, že vyřeší zablokování systému způsobené tímto problémem.Problém 5Po instalaci rozhraní .NET Framework 4.6 metody DateTime.Parse a Date.TryParse nefungují správně. K tomuto problému může dojít u následujících nastavení jazykové verze:
-
fi-FI
-
nb-NE
-
nb-SJ
-
sr-Cyrl-XK
-
sr-Latn-ME
-
sr-Latn-RS
-
sr-Latn-XK
Řešení: Tato aktualizace umožňuje, aby funkce DateTime.Parse a Date.TryParse správně fungovaly v jazykových verzích, které používají stejný oddělovač data a času.Problém 6Po instalaci rozhraní .NET Framework 4.6 používá rozhraní .NET Framework 4.6 nový 64bitový kompilátor s názvem RyuJIT. V některých případech nový kompilátor generuje nesprávný kód, který způsobuje nepředvídatelné chování nebo chybové ukončení. Řešení: Tato aktualizace řeší mnoho problémů v kompilátoru RyuJIT. Pokud se aplikace i po instalaci této aktualizace chová nepředvídatelně, projděte si další podrobné pokyny k řešení potíží.Další kroky:Pokud zjistíte, že se váš problém týká RyuJIT, postupujte podle kroků pro řešení potíží na tomto odkazu, zapište problém na http://connect.microsoft.com. Do sestavy uveďte co nejvíce podrobností a také kód pro reprodukci problému.