บทความนี้อธิบายถึงการรวบรวมโปรแกรมแก้ไขด่วน 3088957 ที่พร้อมใช้งานสำหรับ Microsoft .NET Framework 4.6 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหาที่รวบรวมโปรแกรมแก้ไขด่วนแก้ไข ดูส่วน "ปัญหาที่แก้ไขยกเลิกโปรแกรมแก้ไขด่วนนี้"
การแก้ปัญหา
โปรแกรมแก้ไขด่วนจะพร้อมใช้งานได้ในขณะนี้จาก Microsoft อย่างไรก็ตาม นั้นมีไว้เพื่อแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น นำวิธีนี้ไปใช้กับระบบที่ประสบกับปัญหาที่เฉพาะเจาะจงเท่านั้น
เมื่อต้องการแก้ไขปัญหานี้ ติดต่อฝ่ายบริการสนับสนุนลูกค้าของ Microsoft เพื่อรับโปรแกรมแก้ไขด่วน สำหรับรายชื่อทั้งหมดของหมายเลขโทรศัพท์ของบริการการสนับสนุนลูกค้าของ Microsoft และข้อมูลเกี่ยวกับค่าใช้จ่ายสนับสนุน แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
http://support.microsoft.com/contactus/?ws=supportหมายเหตุ ในกรณีพิเศษ ค่าธรรมเนียมค่าใช้จ่ายสำหรับการสนับสนุนทางโทรศัพท์อาจสามารถยกเลิกถ้า Professional สนับสนุน Microsoft กำหนดว่า มีการปรับปรุงเฉพาะจะแก้ปัญหาของคุณ ระบุต้นทุนในการสนับสนุนปกติจะใช้กับคำถามเพิ่มเติมและเรื่องอื่น ๆ ที่ไม่มีสิทธิได้รับโปรแกรมปรับปรุงเฉพาะที่สงสัย
ข้อมูลเพิ่มเติม
ข้อกำหนดเบื้องต้น
เมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องมี.NET Framework ที่ 4.6 ติดตั้ง
ข้อกำหนดการรีสตาร์ท
คุณต้องรีสตาร์ทคอมพิวเตอร์หลังจากใช้โปรแกรมแก้ไขด่วนนี้ถ้ามีการใช้แฟ้มที่ได้รับผลกระทบใด ๆ เราขอแนะนำให้ คุณปิดโปรแกรมประยุกต์ที่ใช้.NET Framework ทั้งหมดก่อนที่จะใช้โปรแกรมแก้ไขด่วนนี้
ข้อมูลการแทนที่โปรแกรมแก้ไขด่วน
แพคเกจโปรแกรมแก้ไขด่วนนี้ไม่แทนแพคเกจโปรแกรมแก้ไขด่วนที่ออกมาก่อนหน้านี้
การตัดสินค้าจากคลังที่แก้ไขยกเลิกโปรแกรมแก้ไขด่วนนี้
ปัญหาที่ 1
ถ้าคุณมีเว็บไซต์ ASP.NET ทำงานบนสำเนา 4.6 กรอบงาน.NET รุ่น 32 บิตหรือรุ่น AMD64 ของแพลตฟอร์ม.NET Framework 4.6 กับ RyuJit ในการปิดการใช้งาน คุณอาจพบปัญหา w3wp เนื่องจาก ThreadAbortException ไม่สามารถจัดการได้
เมื่อเกิดความผิดพลาดเกิดขึ้น คุณสามารถดูแฟ้มบันทึกการดังต่อไปนี้ในแฟ้มบันทึกเหตุการณ์ของ Windows:
เกิดข้อยกเว้นที่ไม่สามารถจัดการได้ และกระบวนถูกหยุดลง
ID ของโปรแกรมประยุกต์: [ApplicationID]
รหัสกระบวนการ: [ProcessID]
ข้อยกเว้น: System.Threading.ThreadAbortException
ข้อความ: เธรดถูกยกเลิก
StackTrace: ที่ System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, HttpContext บริบท)
ที่ 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: ช่องสัญญาณนี้ไม่สามารถใช้เพื่อส่งข้อความเนื่องจากเซสชันผลลัพธ์ถูกปิดโดยอัตโนมัติเนื่องจากการปิดระบบเซิร์ฟเวอร์เริ่มต้น ปิดใช้งานอัตโนมัติ-ปิด โดยการตั้งค่า DispatchRuntime.AutomaticInputSessionShutdown ที่เป็นเท็จ หรือพิจารณาการปรับเปลี่ยนโพรโทคอลปิดเครื่องกับเซิร์ฟเวอร์ระยะไกล
รายละเอียดการสืบค้นกลับกองซ้อน:
at System.ServiceModel.Channels.ServiceChannel.PrepareCall(ProxyOperationRuntime operation, 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)
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()
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
นี่คือการปรับปรุงเพื่อสนับสนุนสัญลักษณ์ลารีจอร์เจียใหม่ ประเทศของจอร์เจียแนะนำสัญลักษณ์สกุลเงินใหม่สำหรับการลารี แต่ไม่ได้เปลี่ยนชื่อสกุลเงิน นอกจากนี้ยังเพิ่มสัญลักษณ์สกุลเงินใหม่ที่เป็นมาตรฐาน Unicode โปรแกรมปรับปรุงนี้ทำให้แน่ใจว่า สัญลักษณ์สกุลเงินที่ถูกต้องที่จะแสดงขึ้น โดยขึ้นอยู่กับการตั้งค่าตำแหน่งกระทำการของระบบ.NET Framework
ปัญหาที่ 4
หากคอลเลกชัน Gen2 เกิดขึ้นในระหว่างการเรียกParallel.ForEachคุณอาจพบแฮงค์นานหลังจากที่คุณติดตั้ง Studio Visual 2015 หรือ 4.6 กรอบงาน.NET ไม่ มี Visual Studio
ความละเอียด:
โปรแกรมปรับปรุงนี้ปรับปรุงตัวเก็บกวาด โดยแก้ไขระบบหยุดการทำงานที่มีสาเหตุจากปัญหานี้
ปัญหาที่ 5
หลังจากที่คุณติดตั้ง 4.6 กรอบงาน.NET วิธีการวัน Time.ParseและDate.TryParseไม่ทำงานอย่างถูกต้อง ปัญหานี้อาจเกิดขึ้นกับการตั้งค่าภาษาต่อไปนี้:
-
fi FI
-
nb หมายเลข
-
nb-SJ
-
sr-Cyrl-XK
-
sr-Latn-ME
-
sr-Latn-RS
-
sr-Latn-XK
ความละเอียด:
โปรแกรมปรับปรุงนี้ช่วยให้DateTime.ParseและDate.TryParseให้ทำงานได้อย่างถูกต้องใน cultures ที่ใช้วันเดียวกันและตัวคั่นเวลา
ปัญหาที่ 6
หลังจากที่คุณติดตั้ง 4.6 กรอบงาน.NET, 4.6 กรอบงาน.NET ใช้คอมไพเลอร์แบบ 64 บิตใหม่ที่ชื่อว่า RyuJIT ในบางกรณี คอมไพเลอร์ใหม่สร้างรหัสไม่ถูกต้องที่ทำให้เกิดลักษณะการทำงานที่คาดไม่ถึง หรือล้มเหลว
ความละเอียด:
โปรแกรมปรับปรุงนี้ช่วยแก้ไขปัญหามากในคอมไพเลอร์ RyuJIT ถ้าโปรแกรมประยุกต์ยังคงทำงานของมีหลังจากการติดตั้งโปรแกรมปรับปรุงนี้ ดูแนวทางการแก้ไขปัญหาเบื้องต้นที่รายละเอียดเพิ่มเติม
เพิ่มเติมขั้นตอน:
ถ้ามีกำหนดว่า RyuJIT อาจสามารถเกี่ยวข้องกับการตัดสินค้าจากคลังของคุณ โดยทำตามขั้นตอนการแก้ไขปัญหาในการเชื่อมโยง กรุณาเข้าสู่ระบบการตัดสินค้าจากคลังที่http://connect.microsoft.com รวมรายละเอียดมากที่สุดในรายงาน และนอกจากนี้รหัสเมื่อต้องการทบทวนเกิดปัญหา