transaccionar sinonimos rae definicion c# wcf nhibernate transactions msmq

c# - sinonimos - WCF msmq transaccionado y unidad de trabajo



transaccionar rae (1)

No estoy muy familiarizado con estos sistemas, pero la respuesta más simple suele ser la correcta, así que le daré una oportunidad. Supongo que cualquier servicio al que llame los elementos está parando el proceso. que quita los elementos antes de que tenga la oportunidad de eliminarlos, por lo que agregaría una especie de llamada de función al servicio al que está llamando los elementos para que se vea obligado a eliminar el elemento de la lista antes de que pueda finalizar la transacción.

Por supuesto, no estoy familiarizado con este tema, por lo que no creo en mi palabra, eso es lo que haría por un problema similar dentro de los límites de mi conocimiento de programación.

Creé un servicio MSMQ WCF que es transaccional. Utilicé el siguiente atributo en mi operación:

[OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]

Estoy usando Nhibernate en servicio. Usando Nhibernate, realizo un commit en mi sesión. Si deshabilito la confirmación de Nhibernate, el mensaje se procesa correctamente y se elimina de las colas. Con esta confirmación, la transacción de Nhibernate funciona correctamente pero mi mensaje entra en la cola de reintento.

Aquí está la excepción que obtengo en el rastro de servicio de Nhibernate.

Description Handling an exception. Exception details: System.Transactions.TransactionAbortedException: The transaction has aborted. ---> System.ObjectDisposedException: Cannot access a disposed object. Object name: ''Transaction''. at System.Transactions.Transaction.DependentClone(DependentCloneOption cloneOption) at System.Transactions.TransactionScope.SetCurrent(Transaction newCurrent) at System.Transactions.TransactionScope.PushScope() at System.Transactions.TransactionScope.Initialize(Transaction transactionToUse, TimeSpan scopeTimeout, Boolean interopModeSpecified) at System.Transactions.TransactionScope..ctor(Transaction transactionToUse, TransactionScopeAsyncFlowOption asyncFlowOption) at System.Transactions.TransactionScope..ctor(Transaction transactionToUse) at NHibernate.Transaction.AdoNetWithDistributedTransactionFactory.DistributedTransactionContext.System.Transactions.IEnlistmentNotification.Prepare(PreparingEnlistment preparingEnlistment) --- End of inner exception stack trace --- at System.Transactions.TransactionStatePromotedAborted.PromotedTransactionOutcome(InternalTransaction tx) at System.Transactions.TransactionStatePromotedEnded.EndCommit(InternalTransaction tx) at System.Transactions.CommittableTransaction.Commit() at System.ServiceModel.Dispatcher.TransactionInstanceContextFacet.Complete(Transaction transaction, Exception error)

Parece que el compromiso nhibernate destruye la transacción en WCF. No puedo encontrar la manera de arreglar esto.

Cualquier ayuda puede ser apreciada