FIX: Gauti vietą iš naujo naudodami WCF-SQL adapterį arba WCF-"Oracle" adapteris BizTalk adapterį Pack

Šis straipsnis taikomas vieną iš šių veiksmų:

  • BizTalk adapteris paketo 2.0

  • BizTalk adapterį paketą 2010

Požymiai

Kai naudojate vieną iš šių adapterius, kurie yra įtraukti į Microsoft BizTalk adapteris paketo 2.0 "arba" Microsoft BizTalk adapterį paketą 2010 gauti vietą, gauti vietą netikėtai paleidžiama iš naujo:

  • Windows ryšio platformos (WCF)-SQL adapteris

  • WCF-"Oracle" adapteris

Be to, BizTalk Server gali susidurti su ConnectionException išimtis, ir tada BizTalk server gali iš naujo po to, programos žurnale užregistruotas vienas tokius perspėjimus.

WCF-SQL adapteris

Įspėjimas 1

"Adapteris""WCF-SQL" "iškėlė klaidos pranešimą. Išsami informacija "" System.ObjectDisposedException: negali prieiti prie atliekų objektas. Objekto pavadinimas: "Operacijų" kalendoriaus kokybė (Exception e) System.Transactions.Transaction.Rollback į Microsoft.Adapters.Sql.SqlAdapterInboundHandler.TryReceive (TimeSpan timeout, pranešimas & pranešimą, IInboundReply ir atsakyti) į Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.TryReceive (TimeSpan timeout, pranešimas ir pranešimas) į System.ServiceModel.Dispatcher.InputChannelBinder.TryReceive (TimeSpan timeout, RequestContext & requestContext) į System.ServiceModel.Dispatcher.ErrorHandlingReceiver.TryReceive (TimeSpan timeout, RequestContext & requestContext) "". "

Įspėjimas 2

"Adapteris""WCF-SQL" "iškėlė klaidos pranešimą. Išsami informacija "" System.TimeoutException: išimtis tipo "System.TimeoutException" buvo thrown.at Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired (ne) Į Microsoft.Adapters.Sql.SqlAdapterInboundHandler.Polling_WaitForMessage (TimeoutHelper timeoutHelper) į Microsoft.Adapters.Sql.ExecutionHelper.ExecuteScalar (SqlCommand SqlCommand SqlCommand sqlCommand, TimeoutHelper timeoutHelper) Microsoft.Adapters.Sql.SqlAdapterInboundHandler.WaitForMessage (TimeSpan timeout) į Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (TimeSpan timeout) į System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (TimeSpan timeout) System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage()"". "

WCF-"Oracle" adapteris

Įspėjimas 1

Adapteris "WCF-Oracle" iškėlė klaidos pranešimą. Išsami informacija "Microsoft.ServiceModel.Channels.Common.ConnectionException: dėl skirtojo laiko" 00: 02:00 "baigėsi vykdant funkciją"WaitForMessage". ---> System.TimeoutException: dėl skirtojo laiko "00: 02:00" baigėsi vykdant funkciją "WaitForMessage". į Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired() į Microsoft.Adapters.OracleCommon.OracleCommonUtils.SetCommandTimeout (OracleCommand komandą, TimeoutHelper timeoutHelper) į Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteNonQuery (OracleCommand komandą, OracleCommonExecutionHelper executionHelper) į Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection () OracleCommonExecutionHelper executionHelper)---pabaigoje vidinių išimčių rimkinio stebėjimo---Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection (OracleCommonExecutionHelper executionHelper) į Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage (OracleCommonExecutionHelper executionHelper) į Microsoft.Adapters.OracleDB.OracleDBInboundContract.WaitForMessage (TimeSpan timeout) į Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (TimeSpan timeout) į System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (TimeSpan timeout) į System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage() ".

Įspėjimas 2

Adapteris "WCF-Oracle" iškėlė klaidos pranešimą. Išsami informacija "System.TimeoutException: dėl skirtojo laiko" 00: 02:00 "baigėsi vykdant funkciją"WaitForMessage". į Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired() į Microsoft.Adapters.OracleCommon.OracleCommonUtils.SetCommandTimeout (OracleCommand komandą, TimeoutHelper timeoutHelper) į Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteScalar (OracleCommand komandą, OracleCommonExecutionHelper executionHelper) į Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage () OracleCommonExecutionHelper executionHelper, OracleCommonConnectionWrapper ryšio) į Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage (OracleCommonExecutionHelper executionHelper) į Microsoft.Adapters.OracleDB.OracleDBInboundContract.WaitForMessage (TimeSpan timeout) į Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (TimeSpan timeout) į Į System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage() (TimeSpan timeout) System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage ".

Priežastis

Ši problema kyla dėl to, kad gauti vietą netikėtai paleidžiama iš naujo kai WaitForMessage metodas sukuria TimeoutException išimtis. Kai WaitForMessage metodas sukuria TimeoutException išimtis, TryReceive metodas vadinamas, ir tada WCF-SQL adapterį arba WCF-"Oracle" adapteris atšaukia operacija. Tačiau ankstesnės operacijos gali sukurti išimtį ObjectDisposedException . Todėl vienas iš įspėjimus, kurie yra nurodyti skyriuje "Požymiai" yra sukurtas.

Sprendimas

Kaupiamojo naujinimo informacija

BizTalk adapterį paketo 2010

Karštųjų pataisų, kuris pašalins šią problemą yra įtrauktas į kaupiamųjų naujinimų paketas 2 BizTalk adapterį paketą 2010. Jei norite gauti daugiau informacijos apie tai, kaip gauti šį kaupiamųjų naujinimų paketą, spustelėkite šį straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazės:2572999atnaujinimų paketas 2 BizTalk adapterį paketą 2010

BizTalk adapteris paketo 2.0

Karštųjų pataisų, kuris pašalins šią problemą yra įtraukti į 3 kaupiamųjų naujinimų paketas BizTalk adapteris paketo 2.0. Jei norite gauti daugiau informacijos apie tai, kaip gauti kaupiamųjų naujinimų paketą, spustelėkite toliau straipsnio numerį ir peržiūrėkite straipsnį Microsoft žinių bazėje:

2557150 BizTalk adapteris paketo 2.0 3 kaupiamųjų naujinimų paketasPastaba Šios karštosios pataisos suteikia < TraceIdentifier > ir < / TraceIdentifier > žmones, kurių reikia WCF stebėjimas faile (.svcLog). Karštąsias pataisas prideda šiuos žodžius, į sekimo rinkmenos yra ištaisyta ir tarnybos stebėjimo peržiūros įrankis (SvcTraceViewer.exe) atidaromas didelis WCF sekti failus greičiau. Toliau :: išeiti pėdsakų trūksta < TraceIdentifier > ir < / TraceIdentifier > Žymos prieš taikydami šias karštąsias pataisas: < Aprašymas > ExecuteNonQuery::Exit < / Aprašymas >< Aprašymas > OpenConnection::Exit < / Aprašymas >< ExecuteScalar::Exit Aprašymas > < / Aprašymas >< Polling_WaitForMessage::Exit Aprašymas > < / Aprašymas >

Būsena

„Microsoft“ patvirtino, kad tai yra „Microsoft“ produktų, išvardytų skyriuje „Taikoma“, problema.

Daugiau informacijos

Jei norite gauti daugiau informacijos apie IInputChannel.WaitForMessage metodą, apsilankykite šioje MSDN svetainėje:

Bendroji informacija apie IInputChannel.WaitForMessage metodasJei norite gauti daugiau informacijos apie IInputChannel.TryReceive metodą, apsilankykite šioje MSDN svetainėje:

Bendroji informacija apie IInputChannel.TryReceive metodasJei norite gauti daugiau informacijos apie BizTalk Server karštąsias pataisas, spustelėkite toliau straipsnio numerį ir peržiūrėkite straipsnį Microsoft žinių bazėje:

2003907 Informacija apie BizTalk serverio karštąsias pataisas

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijungti prie "Microsoft Insider"

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×