ΕΠΙΔΙΌΡΘΩΣΗ: Λάβετε θέση επανεκκίνηση όταν χρησιμοποιείτε τον προσαρμογέα WCF-SQL ή του προσαρμογέα WCF Oracle στο πακέτο προσαρμογέα BizTalk

Ισχύει για: BizTalk Adapters

Αυτό το άρθρο ισχύει για το ακόλουθο προϊόν:
  • BizTalk προσαρμογέα Pack 2.0
  • BizTalk προσαρμογέα Pack 2010

Συμπτώματα


Όταν χρησιμοποιείτε έναν από τους παρακάτω προσαρμογείς που περιλαμβάνονται στο Microsoft BizTalk προσαρμογέα Pack 2.0 ή Microsoft BizTalk προσαρμογέα Pack 2010 σε μια θέση παραλαβής, η θέση παραλαβής γίνεται μη αναμενόμενη επανεκκίνηση:
  • Το Windows Communication Foundation (WCF)-προσαρμογέα SQL
  • Ο προσαρμογέας WCF Oracle
Επιπλέον, BizTalk Server, ενδέχεται να αντιμετωπίσετε την εξαίρεση ConnectionException και, στη συνέχεια, ενδέχεται να επανεκκίνηση του BizTalk server μετά από μία από τις ακόλουθες προειδοποιήσεις καταγράφεται στο αρχείο καταγραφής εφαρμογής.

Προσαρμογέας WCF SQL

Προειδοποίηση 1
"Ο προσαρμογέας""WCF-SQL" "ενεργοποιείται ένα μήνυμα σφάλματος. Λεπτομέρειες "" System.ObjectDisposedException: δεν είναι δυνατό να αποκτήσει πρόσβαση σε ένα αντικείμενο που έχει απορριφθεί. Όνομα αντικειμένου: 'Συναλλαγή'.at System.Transactions.Transaction.Rollback (εξαίρεση e) σε 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:2572999 πακέτο αθροιστικών ενημερώσεων 2 για το 2010 Pack προσαρμογέα BizTalk

Για το BizTalk προσαρμογέα Pack 2.0

Η επείγουσα επιδιόρθωση που επιλύει αυτό το ζήτημα περιλαμβάνεται στο πακέτο αθροιστικών ενημερώσεων 3 για το BizTalk προσαρμογέα Pack 2.0. Για περισσότερες πληροφορίες σχετικά με τον τρόπο λήψης του πακέτου αθροιστική ενημερωμένη έκδοση, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2557150 Πακέτο αθροιστικών ενημερώσεων 3 για το BizTalk προσαρμογέα Pack 2.0
Σημείωση Αυτή η επείγουσα επιδιόρθωση προσθέτει το < TraceIdentifier > και < / TraceIdentifier > ετικέτες που απαιτούνται στο αρχείο ανίχνευσης WCF (.svcLog). Αφού η επείγουσα επιδιόρθωση προσθέτει αυτά τα tag, διορθώνεται το αποτέλεσμα στα αρχεία εντοπισμού και εργαλείο προβολής της υπηρεσίας εντοπισμού (SvcTraceViewer.exe) ανοίγει μεγάλα αρχεία ανίχνευσης WCF πιο γρήγορα. Τα παρακάτω :: Έξοδος ίχνη, δεν διαθέτουν το < TraceIdentifier > και < / TraceIdentifier > ετικέτες πριν να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση: < περιγραφή > ExecuteNonQuery::Exit < / περιγραφή >< περιγραφή > OpenConnection::Exit < / περιγραφή >< ExecuteScalar::Exit περιγραφή > < / περιγραφή >< Polling_WaitForMessage::Exit περιγραφή > < / περιγραφή >

Κατάσταση


Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

Περισσότερες πληροφορίες


Για περισσότερες πληροφορίες σχετικά με τη μέθοδο IInputChannel.WaitForMessage , επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:Για περισσότερες πληροφορίες σχετικά με τη μέθοδο IInputChannel.TryReceive , επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:Για περισσότερες πληροφορίες σχετικά με τις επείγουσες επιδιορθώσεις του BizTalk Server, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2003907 Πληροφορίες σχετικά με τις επείγουσες επιδιορθώσεις του BizTalk Server