Se esta teniendo este problema, de forma esporadica pero si diaria, todo esta funcionando bien y de pronto empieza a dar ese problema que no permite guardar nada. Se estaba tratando de guardar un conjunto de datos y dio el problema.

System.Data.Entity.Core.EntityException: The underlying provider failed on Open.
 ---> System.Transactions.TransactionException: The transaction has already been implicitly or explicitly committed or aborted. ---> System.Runtime.InteropServices.COMException: The transaction has already been implicitly or explicitly committed or aborted (Exception from HRESULT: 0x8004D00E)
 at System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim)
 at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)
 --- End of inner exception stack trace ---
 at System.Transactions.Oletx.OletxTransactionManager.ProxyException(COMException comException)
 at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)
 at System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx)
 at System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx)
 at System.Transactions.EnlistableStates.Promote(InternalTransaction tx)
 at System.Transactions.Transaction.Promote()
 at System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction)
 at System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts)
 at System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction transaction, Byte[] whereAbouts)
 at System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx)
 at System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx)
 at System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction)
 at System.Data.ProviderBase.DbConnectionPool.PrepareConnection(DbConnection owningObject, DbConnectionInternal obj, Transaction transaction)
 at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
 at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
 at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
 at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
 at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
 at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
 at System.Data.SqlClient.SqlConnection.Open()
 at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext](TTarget target, Action`2 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
 at System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext)
 at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<>c__DisplayClass1.<Execute>b__0()
 at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
 at System.Data.Entity.Core.EntityClient.EntityConnection.Open() --- End of inner exception stack trace ---
 at System.Data.Entity.Core.EntityClient.EntityConnection.Open()
 at System.Data.Entity.Core.Objects.ObjectContext.EnsureConnection(Boolean shouldMonitorTransactions)
 at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
 at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass7.<GetResults>b__5()
 at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
 at System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
 at System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0()
 at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()
 at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
 at System.Data.Entity.Core.Objects.CompiledQuery.ExecuteQuery[TResult](ObjectContext context, Object[] parameterValues)
 at System.Data.Entity.Core.Objects.CompiledQuery.Invoke[TArg0,TArg1,TResult](TArg0 arg0, TArg1 arg1)
 at Aseinfo.Infrastructure.Services.MetadataService.GetEntidadAuditoria(String entityName) in C:\VH4\Infrastructure\Services\Metadata\MetadataService.cs:line 424
 at Aseinfo.Infrastructure.Services.CustomValidationService.<>c__DisplayClass6_0.<FilterCapableEntityChangeEntriesOnSavedChanges>b__2(String esn) in C:\VH4\Infrastructure\Services\CustomValidation\CustomValidationService.cs:line 142
 at System.Collections.Generic.List`1.ForEach(Action`1 action)
 at Aseinfo.Infrastructure.Services.CustomValidationService.FilterCapableEntityChangeEntriesOnSavedChanges(List`1 entries) in C:\VH4\Infrastructure\Services\CustomValidation\CustomValidationService.cs:line 150
 at bi.Data.biDataContext.DataContextSavedChanges(Object sender, EventArgs e) in C:\clientes\bi\src\bi\Data\biDataContext.cs:line 218
 at System.EventHandler.Invoke(Object sender, EventArgs e)
 at bi.Data.biDataContext.OnSavedChanges(EventArgs e) in C:\clientes\bi\src\bi\Data\biDataContext.cs:line 137
 at bi.Data.biDataContext.SaveChanges(SaveOptions options) in C:\clientes\bi\src\bi\Data\biDataContext.cs:line 107
 at Aseinfo.Infrastructure.Base.Entity.EntityServiceBase`2.SaveChanges() in C:\VH4\Infrastructure\Base\Entity\EntityServiceBase.cs:line 562
 at Aseinfo.Infrastructure.Base.Entity.EntityServiceBase`2.DoInsert(T entity, Boolean saveChanges, Boolean bypassWorkflowInitialization) in C:\VH4\Infrastructure\Base\Entity\EntityServiceBase.cs:line 852
 at bi.Controllers.DispositivoPorPlazaController.PrepararDispositivos(DispositivoPorPlaza entity, List`1 listadoDispositivos) in C:\clientes\bi\src\bi\Controllers\DispositivoPorPlazaController.cs:line 335
 at bi.Controllers.DispositivoPorPlazaController.SaveDispositivoPorPlaza(DispositivoPorPlaza entity, List`1 listadoDispositivos, Boolean inserting) in C:\clientes\bi\src\bi\Controllers\DispositivoPorPlazaController.cs:line 183
 at bi.Controllers.DispositivoPorPlazaController.Edit(DispositivoPorPlaza entity, List`1 listadoDispositivos) in C:\clientes\bi\src\bi\Controllers\DispositivoPorPlazaController.cs:line 90
 at lambda_method(Closure , ControllerBase , Object[] )
 at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
 at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
 at System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
 at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
 at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
 at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d()
 at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
 at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
 at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
 at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
 at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
 at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.<BeginInvokeAction>b__1c()
 at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult)

asked 09 Nov '16, 10:29

FerdyB's gravatar image

FerdyB
955166176178
accept rate: 48%

edited 09 Nov '16, 10:39

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635

Se reinicia el DTC en el servidor de aplicaciones y ya funciona normalmente, pero esto esta pasando 1 o 2 veces al dia.

(09 Nov '16, 10:35) FerdyB FerdyB's gravatar image

No, casualmente al reiniciar el DTC empezo a funcionar pero no fue eso lo que lo corrigio, ya que dio nuevamente, se hizo el reinicio y sigue sin funcionar.

(09 Nov '16, 10:54) FerdyB FerdyB's gravatar image

Solo como comentario, este problema empezo a dar el dia viernes 4, casualmente ese dia el cliente realizo la clonacion de los servidores para tener un ambiente de prueba, todos los servidores son virtuales, se realizo la configuracion para los nuevos servidores en el evoconfig y funcionan bien, eso fue lo unico que se hizo, sera que habria que cambiar algo mas?

(09 Nov '16, 10:56) FerdyB FerdyB's gravatar image

El error que enviaste es en una pantalla de PLUGIN, no en es al salvar un Conjunto de Datos

(09 Nov '16, 10:58) Fernando Paz ♦♦ Fernando%20Paz's gravatar image

si hombre, es que lo copie desde el elmah, pero si da en todos lados al guardar.

(09 Nov '16, 11:07) FerdyB FerdyB's gravatar image

Por la excepción que pusiste, el error se da en la infraestructura de Evolution al obtener el nombre del procedimiento antes de guardar, cuando entidades creadas en el PLUGIN del cliente, están tratando de guardar información (DispositivoPorPlaza).

Aunque me parece que si guardas todas las excepciones que se dan, el mismo error se va dar en diferentes puntos del fuente del PLUGIN.

Como no tengo el fuente del PLUGIN no puedo dar más información sobre lo que se está ejecutando específicamente, pero se necesitaría revisar la configuración del PLUGIN, contra la versión de Evolution que está ejecutándose.

   at bi.Data.biDataContext.DataContextSavedChanges(Object sender, EventArgs e)
      in C:\clientes\bi\src\bi\Data\biDataContext.cs:line 218
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at bi.Data.biDataContext.OnSavedChanges(EventArgs e)
      in C:\clientes\bi\src\bi\Data\biDataContext.cs:line 137
   at bi.Data.biDataContext.SaveChanges(SaveOptions options)
     in C:\clientes\bi\src\bi\Data\biDataContext.cs:line 107

link

answered 09 Nov '16, 10:53

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

edited 09 Nov '16, 10:56

El error lo da en todas partes cuando se guarda, no necesariamente en ese plug in, ya que como indique se dio inicialmente el dia de hoy al guardar un conjunto de datos, yo como prueba trate de guardar en ese plug in

(09 Nov '16, 11:00) FerdyB FerdyB's gravatar image

Cuando se clonan servidores, el DTC deja de funcionar porque ambos servidores poseen el mismo valor de CID (como se menciona aca)

The MSDTC feature of the Windows operating system requires unique CID values to ensure that MSDTC functionality between computers works correctly. Disk duplicate images of Windows installations must have unique CID values or MSDTC functionality may be impaired. This can occur when using virtual hard disks to deploy an operating system to a virtual machine.

To determine if MSDTC CID values for computers that are running the Windows operating system are unique, check the values for the entries under the HKEY_CLASSES_ROOT\CID registry key on both computers. If these values are not unique for each computer then consider reinstalling MSDTC on one of the computers, which will then generate unique MSDTC CID values for that computer and accommodate proper MSDTC operations.

Por lo tanto el servicio de MSDTC debe de reinstalarse para que se genere un nuevo valor de CID, siguiendo estos pasos:

  1. Abrir simbolo del sistema comoadministrador
  2. Ingresar comandos
  3. msdtc -uninstall
  4. msdtc –install
link

answered 09 Nov '16, 11:07

sbarahona's gravatar image

sbarahona ♦♦
(suspended)
accept rate: 32%

(09 Nov '16, 11:13) Fernando Paz ♦♦ Fernando%20Paz's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×2
×1
×1

Asked: 09 Nov '16, 10:29

Seen: 1,627 times

Last updated: 09 Nov '16, 11:13

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática