Тази статия описва сборния пакет за актуализация на горещи поправки 3088956, който е наличен за Microsoft .NET Framework (платформа) 4.6. За повече информация относно проблемите, които се отстраняват сборен пакет за актуализация на гореща поправка вижте раздела "Проблеми, които този сборен пакет за актуализация на корекция корекции".
Решение
Поддържана актуална корекция вече се предлага от Microsoft. Въпреки това тя има за цел да коригира само проблема, който тази статия описва. Приложете го само към системи, които изпитват този конкретен проблем.За да коригирате този проблем, свържете се с отдела за поддръжка на клиенти на Microsoft, за да получите актуалната корекция. За пълен списък на телефонните номера на услугите за поддръжка на клиенти на Microsoft и информация относно разходите за поддръжка посетете следния уеб сайт на Microsoft:
http://support.microsoft.com/contactus/?ws=supportЗабележка В специални случаи таксите, които обикновено се начисляват за обаждания за поддръжка, може да бъдат отменени, ако специалист по поддръжката на Microsoft реши, че конкретна актуализация ще коригира проблема ви. Обичайните разходи за поддръжка ще се прилагат за допълнителни въпроси за поддръжка и проблеми, които не отговарят на условията за конкретната въпросна актуализация.
Повече информация
Предварителни изисквания
За да приложите тази актуална корекция, трябва да имате инсталиран .NET Framework (платформа) 4.6.
Изискване за рестартиране
Трябва да рестартирате компютъра, след като приложите тази актуална корекция, ако всички засегнати файлове се използват. Препоръчваме да затворите всички приложения, базирани на .NET Framework (платформа), преди да приложите тази актуална корекция.
Информация за замяна на гореща поправка
Този пакет с актуални корекции не замества последно издадената пакета с актуални корекции.
Проблеми, които този сборен пакет за актуализация на корекция коригира
Проблем 1Ако имате уеб сайт за ASP.NET, който се изпълнява на 32-битова версия на версията .NET Framework (платформа) 4.6 или AMD64 на платформата .NET Framework (платформа) 4.6 с забранена RyuJit, може да изпитате срив w3wp поради необработена threadAbortException. Когато се получи срив, можете да видите следния регистрационен файл в регистъра на събитията в Windows:
Възникна необработено изключение и процесът е прекратен.ИД на приложение: [ApplicationID]ИД на процеса: [ProcessID]Изключение: System.Threading.ThreadAbortExceptionСъобщение: Нишката е прекратена.StackTrace: at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 флагове)в System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 флагове)
Проблем 2Да предположим, че имате WCF клиент свързване към WCF услуга чрез WCF маршрутизиране услуга. Ако крайната услуга предизвика неочаквано изключение, което не е тип faultException или промените в конфигурирането, WCF маршрутизиране услуга може да маршрутизира следващите заявки към крайната услуга.Когато възникне този проблем, получавате следното изключение:
System.ServiceModel.ProtocolException: Този канал вече не може да се използва за изпращане на съобщения, тъй като изходната сесия е затворена автоматично поради изключване, инициирано от сървъра. Забранете автоматичното затваряне чрез задаване на ДиспечерRuntime.AutomaticInputSessionShutdown на false или помислете за промяна на протокола за изключване с отдалечения сървър.
Информация за проследяване на стека:at System.ServiceModel.Channels.ServiceChannel.PrepareCall(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 timeout, AsyncCallback callback, Object asyncState)at 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)в System.ServiceModel.Routing.ClientFactory.RequestReplyClient.OnBeginOperation(Message 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()at 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.Routing.RoutingService.System.ServiceModel.Routing.IRequestReplyRouter.BeginProcessRequest(Message message, AsyncCallback callback, Object state)at AsyncInvokeBeginBeginProcessRequest(Object , Object[] , AsyncCallback , Object )at System.ServiceModel.Dispatcher.AsyncMethodInvoker.InvokeBegin(Object instance, Object[] inputs, AsyncCallback callback, Object state) Проблем 3Това е актуализация за поддръжка на новия символ грузински лари. Страната на Грузия е въвела нов символ за валута за Lari, но името на валутата не се променя. Новият символ за валута също е добавен към стандарта Unicode. Тази актуализация гарантира, че правилният символ за валута се показва от .NET Framework (платформа) въз основа на настройките на езиковата променлива на системата.Проблем 4Ако колекция Gen2 възниква по време на Parallel.ForEach повиквания, може да изпитате дълго увисване след инсталиране на Visual Studio 2015 или .NET Framework (платформа) 4.6 без Visual Studio.Решение:Тази актуализация актуализира кошчетата колектор чрез отстраняване на замръзване на системата, причинени от този проблем.Проблем 5След като инсталирате .NET Framework (платформа) 4.6, методите DateTime.Parse и Date.TryParse не работят правилно. Този проблем може да възникне със следните настройки на културата:
-
fi-FI
-
nb – НЕ
-
nb-SJ
-
sr Cyrl-XK
-
sr-Latn-ME
-
sr-Latn-RS
-
sr-Latn-XK
Решение:Тази актуализация разрешава DateTime.Parse и Date.TryParse да функционира правилно в култури, които използват един и същ разделител за дата и час.Проблем 6След като инсталирате .NET Framework (платформа) 4.6, .NET Framework (платформа) 4.6 използва нов 64-битов компилатор, който се нарича RyuJIT. В някои случаи новият компилатор генерира неправилен код, който причинява непредсказуемо поведение или сривове. Решение:Тази актуализация коригира много проблеми в RyuJIT компилатор. Ако приложението все още се държи непредсказуемо след инсталирането на тази актуализация, вижте допълнителни подробни указания за отстраняване на неизправности.По-нататъшни стъпки:Ако се установи, че RyuJIT може да бъде включен във вашия проблем, като следвате стъпките за отстраняване на неизправности във връзката, регистрирайте проблема на http://connect.microsoft.com. Включете възможно най-много подробности в отчета, както и кода за възпроизвеждане на проблема.