บทความนี้ใช้กับผลิตภัณฑ์ต่อไปนี้:
-
อะแดปเตอร์ BizTalk Pack 2.0
-
อะแดปเตอร์ BizTalk Pack 2010
อาการ
เมื่อคุณใช้วิธีการใดวิธีการหนึ่งตัวปรับต่อต่อไปนี้ที่รวมอยู่ ใน Microsoft 2.0 Pack อะแดปเตอร์ BizTalk หรือ 2010 Pack อะแดปเตอร์ BizTalk Microsoft บนตำแหน่งที่ได้รับ รับตำแหน่งที่ตั้งเริ่มต้นใหม่โดยไม่คาดคิด:
-
Windows สื่อสารพื้นฐาน (WCF) -อะแดปเตอร์ SQL
-
อะแดปเตอร์ WCF Oracle
นอกจากนี้ BizTalk Server อาจพบข้อยกเว้นConnectionExceptionและเซิร์ฟเวอร์ BizTalk อาจรีสตาร์ทแล้ว หลังจากคำเตือนต่อไปนี้อย่างใดอย่างหนึ่งที่ได้มีบันทึกในบันทึกของโปรแกรมประยุกต์
อะแดปเตอร์ WCF SQL
คำเตือน 1
"ยกอะแดปเตอร์""WCF SQL" "ข้อผิดพลาด รายละเอียด "" System.ObjectDisposedException: ไม่สามารถเข้าถึงวัตถุตัดจำหน่ายได้ ชื่อวัตถุ: 'ธุรกรรม' .at System.Transactions.Transaction.Rollback (ยกเว้นอี) ที่ Microsoft.Adapters.Sql.SqlAdapterInboundHandler.TryReceive (ระยะเวลาการหมดเวลา ข้อความ & ข้อความ IInboundReply & ตอบกลับ) ที่ Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.TryReceive (การหมดเวลาการขาดงาน ข้อความ & ข้อความ) ที่ System.ServiceModel.Dispatcher.InputChannelBinder.TryReceive (หมดเวลาการขาดงาน RequestContext & requestContext) ที่ System.ServiceModel.Dispatcher.ErrorHandlingReceiver.TryReceive (หมดเวลาการขาดงาน RequestContext & requestContext) "" "
คำเตือน 2
"ยกอะแดปเตอร์""WCF SQL" "ข้อผิดพลาด รายละเอียด "" System.TimeoutException: ข้อยกเว้นของชนิด 'System.TimeoutException' ถูก() Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired thrown.at ที่ Microsoft.Adapters.Sql.ExecutionHelper.ExecuteScalar (SqlCommand sqlCommand, TimeoutHelper timeoutHelper) ที่ Microsoft.Adapters.Sql.SqlAdapterInboundHandler.Polling_WaitForMessage (TimeoutHelper timeoutHelper) ที่ Microsoft.Adapters.Sql.SqlAdapterInboundHandler.WaitForMessage (หมดเวลาการขาดงาน) ที่ Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (ระยะเวลาการหมดเวลา) ที่ System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (หมดเวลาการขาดงาน) ที่ System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage()"" "
อะแดปเตอร์ WCF Oracle
คำเตือน 1
อะแดปเตอร์ "WCF Oracle" ยกข้อผิดพลาด รายละเอียด " Microsoft.ServiceModel.Channels.Common.ConnectionException: หมดเวลา" 00: 02:00 "หมดอายุในขณะดำเนินการฟังก์ชัน"WaitForMessage" ---> System.TimeoutException: หมดเวลา " 00: 02:00 " หมดอายุในขณะดำเนินการฟังก์ชัน "WaitForMessage" ใน Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired() ที่ Microsoft.Adapters.OracleCommon.OracleCommonUtils.SetCommandTimeout (OracleCommand คำสั่ง TimeoutHelper timeoutHelper) ที่ Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteNonQuery (คำสั่ง OracleCommand, OracleCommonExecutionHelper executionHelper) ที่ Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection ( OracleCommonExecutionHelper executionHelper) ---จุดสิ้นสุดของการติดตามสแต็คข้อยกเว้นภายใน---ที่ Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection (OracleCommonExecutionHelper executionHelper) ที่ Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage (OracleCommonExecutionHelper executionHelper) ที่ Microsoft.Adapters.OracleDB.OracleDBInboundContract.WaitForMessage (ระยะเวลาการหมดเวลา) ที่ Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (หมดเวลาการขาดงาน) ที่ System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (ระยะเวลาการหมดเวลา) ที่ System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage() "
คำเตือน 2
อะแดปเตอร์ "WCF Oracle" ยกข้อผิดพลาด รายละเอียด " System.TimeoutException: หมดเวลา" 00: 02:00 "หมดอายุในขณะดำเนินการฟังก์ชัน"WaitForMessage" ใน Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired() ที่ Microsoft.Adapters.OracleCommon.OracleCommonUtils.SetCommandTimeout (OracleCommand คำสั่ง TimeoutHelper timeoutHelper) ที่ Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteScalar (คำสั่ง OracleCommand, OracleCommonExecutionHelper executionHelper) ที่ Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage ( ExecutionHelper OracleCommonExecutionHelper, OracleCommonConnectionWrapper การเชื่อมต่อ) ที่ Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage (OracleCommonExecutionHelper executionHelper) ที่ Microsoft.Adapters.OracleDB.OracleDBInboundContract.WaitForMessage (หมดเวลาการขาดงาน) ที่ Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (ระยะเวลาการหมดเวลา) ที่ System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (หมดเวลาการขาดงาน) ที่ System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage() "
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากตำแหน่งที่ตั้งที่ได้รับเริ่มระบบใหม่โดยไม่คาดคิดเมื่อวิธีการWaitForMessageสร้างข้อยกเว้นที่TimeoutException เมื่อการWaitForMessageวิธีการสร้างข้อยกเว้นที่TimeoutExceptionมีเรียกวิธีTryReceiveและจากนั้น อะแดปเตอร์ WCF SQL หรืออะแดปเตอร์ WCF Oracle รวบรวมย้อนกลับธุรกรรม อย่างไรก็ตาม การดำเนินการย้อนกลับอาจสร้างข้อยกเว้นObjectDisposedException ดังนั้น คำเตือนที่กล่าวถึงในส่วน "อาการ" อย่างใดอย่างหนึ่งจะถูกสร้างขึ้น
การแก้ไข
ข้อมูลการปรับปรุงสะสม
สำหรับอะแดปเตอร์ BizTalk Pack 2010
โปรแกรมแก้ไขด่วนที่แก้ไขปัญหานี้จะรวมอยู่ในแพ็คเกจการปรับปรุงสะสม 2 สำหรับ 2010 Pack อะแดปเตอร์ BizTalk สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงนี้ โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft: แพคเกจการปรับปรุงสะสม25729992 สำหรับ 2010 Pack อะแดปเตอร์ BizTalk
สำหรับอะแดปเตอร์ BizTalk Pack 2.0
โปรแกรมแก้ไขด่วนที่แก้ไขปัญหานี้จะรวมอยู่ในแพ็คเกจการปรับปรุงสะสม 3 สำหรับ 2.0 Pack อะแดปเตอร์ BizTalk สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจการปรับปรุงสะสม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2557150 แพคเกจโปรแกรมปรับปรุงสะสม 3 สำหรับ 2.0 Pack อะแดปเตอร์ BizTalkหมายเหตุโปรแกรมแก้ไขด่วนนี้เพิ่ม< TraceIdentifier >และ< / TraceIdentifier >แท็กที่จำเป็นในไฟล์การสืบค้นกลับ WCF (.svcLog) หลังจากที่โปรแกรมแก้ไขด่วนเพิ่มแท็กเหล่านี้ ผลผลิตในไฟล์การสืบค้นกลับจะถูกแก้ไข และเครื่องมือตัวแสดงการติดตามบริการ (SvcTraceViewer.exe) เปิดไฟล์การสืบค้นกลับ WCF ขนาดใหญ่ได้อย่างรวดเร็วยิ่งขึ้น ต่อไปนี้:: ออกสืบค้นกลับขาด< TraceIdentifier >และ< / TraceIdentifier >แท็กก่อนที่จะใช้โปรแกรมแก้ไขด่วนนี้: <อธิบาย > ExecuteNonQuery::Exit < / คำอธิบาย >< คำอธิบาย > OpenConnection::Exit < / คำอธิบาย >< ExecuteScalar::Exit คำอธิบาย > < / คำอธิบาย >< Polling_WaitForMessage::Exit คำอธิบาย > < / คำอธิบาย >
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
ข้อมูลเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการIInputChannel.WaitForMessageแวะไปเว็บไซต์ MSDN ต่อไปนี้:
ข้อมูลทั่วไปเกี่ยวกับวิธีการ IInputChannel.WaitForMessageสำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการIInputChannel.TryReceiveแวะไปเว็บไซต์ MSDN ต่อไปนี้:
ข้อมูลทั่วไปเกี่ยวกับวิธีการ IInputChannel.TryReceiveสำหรับข้อมูลเพิ่มเติมเกี่ยวกับโปรแกรมแก้ไขด่วนที่ BizTalk Server คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2003907 ข้อมูลเกี่ยวกับโปรแกรมแก้ไขด่วนของ BizTalk Server