The partner transaction manager has disabled its support for remote/network transactions (HRESULT 0x8004D025)
See original GitHub issueDocumentation
在 System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim)
在 System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)
GitHub Issues
在 System.Transactions.Oletx.OletxTransactionManager.ProxyException(COMException comException)
在 System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)
在 System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx)
在 System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx)
在 System.Transactions.EnlistableStates.Promote(InternalTransaction tx)
在 System.Transactions.Transaction.Promote()
在 System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction)
在 System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts)
在 System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction transaction, Byte[] whereAbouts)
在 System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx)
在 System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx)
在 System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction transaction)
在 System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction)
在 System.Data.ProviderBase.DbConnectionPool.PrepareConnection(DbConnection owningObject, DbConnectionInternal obj, Transaction transaction)
在 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
在 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) 在 System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource
1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
在 System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions) 在 System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource
1 retry, DbConnectionOptions userOptions)
在 System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource1 retry) 在 System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource
1 retry)
在 System.Data.SqlClient.SqlConnection.Open()
在 yw56.pricecalc.EntityFramework.Repositories.Customers.CustomerRepository.GetMerchantCode(String customerCode) 位置 F:\project\pricecalc\src\yw56.pricecalc.EntityFramework\EntityFramework\Repositories\Customers\CustomerRepository.cs:行号 26
在 Castle.Proxies.CustomerRepositoryProxy.GetMerchantCode_callback(String customerCode)
在 Castle.Proxies.Invocations.ICustomerRepository_GetMerchantCode.InvokeMethodOnTarget()
在 Castle.DynamicProxy.AbstractInvocation.Proceed()
在 Abp.Domain.Uow.UnitOfWorkInterceptor.PerformSyncUow(IInvocation invocation, UnitOfWorkOptions options) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 67
在 Abp.Domain.Uow.UnitOfWorkInterceptor.PerformUow(IInvocation invocation, UnitOfWorkOptions options) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 59
在 Abp.Domain.Uow.UnitOfWorkInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 49
在 Castle.DynamicProxy.AbstractInvocation.Proceed()
在 Castle.Proxies.CustomerRepositoryProxy.GetMerchantCode(String customerCode)
在 yw56.pricecalc.Customers.CustomerAppService.<GetCustomerChangeCache>b__14_0() 位置 F:\project\pricecalc\src\yw56.pricecalc.Application\Customers\CustomerAppService.cs:行号 67
在 Abp.Runtime.Caching.CacheExtensions.<>c__DisplayClass7_02.<Get>b__0(TKey k) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Caching\CacheExtensions.cs:行号 50 在 Abp.Runtime.Caching.CacheExtensions.<>c__DisplayClass5_0
2.<Get>b__0(String k) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Caching\CacheExtensions.cs:行号 40
在 Abp.Runtime.Caching.CacheBase.Get(String key, Func2 factory) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Caching\CacheBase.cs:行号 68 在 Abp.Runtime.Caching.CacheExtensions.Get[TKey,TValue](ICache cache, TKey key, Func
2 factory) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Caching\CacheExtensions.cs:行号 40
在 Abp.Runtime.Caching.CacheExtensions.Get[TKey,TValue](ICache cache, TKey key, Func`1 factory) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Caching\CacheExtensions.cs:行号 50
在 yw56.pricecalc.Customers.CustomerAppService.GetCustomerChangeCache(String productCode) 位置 F:\project\pricecalc\src\yw56.pricecalc.Application\Customers\CustomerAppService.cs:行号 64
在 Castle.Proxies.CustomerAppServiceProxy.GetCustomerChangeCache_callback(String productCode)
在 Castle.Proxies.Invocations.ICustomerAppService_GetCustomerChangeCache.InvokeMethodOnTarget()
在 Castle.DynamicProxy.AbstractInvocation.Proceed()
在 Abp.Domain.Uow.UnitOfWorkInterceptor.PerformSyncUow(IInvocation invocation, UnitOfWorkOptions options) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 67
在 Abp.Domain.Uow.UnitOfWorkInterceptor.PerformUow(IInvocation invocation, UnitOfWorkOptions options) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 59
在 Abp.Domain.Uow.UnitOfWorkInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 49
在 Castle.DynamicProxy.AbstractInvocation.Proceed()
在 Abp.Auditing.AuditingInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Auditing\AuditingInterceptor.cs:行号 37
在 Castle.DynamicProxy.AbstractInvocation.Proceed()
在 Abp.Runtime.Validation.Interception.ValidationInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Validation\Interception\ValidationInterceptor.cs:行号 33
在 Castle.DynamicProxy.AbstractInvocation.Proceed()
在 Castle.Proxies.CustomerAppServiceProxy.GetCustomerChangeCache(String productCode)
在 yw56.pricecalc.Calcs.CalcAppService.Calc(String waybillNumber) 位置 F:\project\pricecalc\src\yw56.pricecalc.Application\Calcs\CalcAppService.cs:行号 265
在 Castle.Proxies.CalcAppServiceProxy.Calc_callback_1(String waybillNumber)
在 Castle.Proxies.Invocations.ICalcAppService_Calc_1.InvokeMethodOnTarget()
在 Castle.DynamicProxy.AbstractInvocation.Proceed()
在 Abp.Domain.Uow.UnitOfWorkInterceptor.PerformSyncUow(IInvocation invocation, UnitOfWorkOptions options) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 67
在 Abp.Domain.Uow.UnitOfWorkInterceptor.PerformUow(IInvocation invocation, UnitOfWorkOptions options) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 59
在 Abp.Domain.Uow.UnitOfWorkInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 49
在 Castle.DynamicProxy.AbstractInvocation.Proceed()
在 Abp.Auditing.AuditingInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Auditing\AuditingInterceptor.cs:行号 37
在 Castle.DynamicProxy.AbstractInvocation.Proceed()
在 Abp.Runtime.Validation.Interception.ValidationInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Validation\Interception\ValidationInterceptor.cs:行号 33
在 Castle.DynamicProxy.AbstractInvocation.Proceed()
在 Castle.Proxies.CalcAppServiceProxy.Calc(String waybillNumber)
在 yw56.pricecalc.ApplicationTests.Calc.CalcAppServiceTests.Calc() 位置 F:\project\pricecalc\src\yw56.pricecalc.ApplicationTests\Calc\CalcAppServiceTests.cs:行号 59
Stack Overflow
Issue Analytics
- State:
- Created 4 years ago
- Comments:33 (12 by maintainers)
Top GitHub Comments
The test database I use is not an online database.
this my project address
https://github.com/zhanfuzhi/myunittest.git
error info:
测试名称: Calc 测试全名: yw56.pricecalc.ApplicationTests.Calc.CalcAppServiceTests.Calc 测试源: F:\project\pricecalc\src\yw56.pricecalc.ApplicationTests\Calc\CalcAppServiceTests.cs : 第 33 行 测试结果: 失败 测试持续时间: 0:00:48.7718946
结果 StackTrace: 在 System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim) 在 System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken) —内部异常堆栈跟踪结束— 在 System.Transactions.Oletx.OletxTransactionManager.ProxyException(COMException comException) 在 System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken) 在 System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx) 在 System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx) 在 System.Transactions.EnlistableStates.Promote(InternalTransaction tx) 在 System.Transactions.Transaction.Promote() 在 System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction) 在 System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts) 在 System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction transaction, Byte[] whereAbouts) 在 System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx) 在 System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx) 在 System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction transaction) 在 System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction) 在 System.Data.ProviderBase.DbConnectionPool.PrepareConnection(DbConnection owningObject, DbConnectionInternal obj, Transaction transaction) 在 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) 在 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource
1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) 在 System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource
1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) 在 System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions) 在 System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource
1 retry, DbConnectionOptions userOptions) 在 System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource1 retry) 在 System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource
1 retry) 在 System.Data.SqlClient.SqlConnection.Open() 在 System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.<Open>b__36(DbConnection t, DbConnectionInterceptionContext c) 在 System.Data.Entity.Infrastructure.Interception.InternalDispatcher1.Dispatch[TTarget,TInterceptionContext](TTarget target, Action
2 operation, TInterceptionContext interceptionContext, Action3 executing, Action
3 executed) 在 System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext) 在 System.Data.Entity.Core.EntityClient.EntityConnection.<Open>b__2() 在 System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<>c__DisplayClass1.<Execute>b__0() 在 System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func1 operation) 在 System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Action operation) 在 System.Data.Entity.Core.EntityClient.EntityConnection.Open() ---内部异常堆栈跟踪结束--- 在 System.Data.Entity.Core.EntityClient.EntityConnection.Open() 在 System.Data.Entity.Core.Objects.ObjectContext.EnsureConnection(Boolean shouldMonitorTransactions) 在 System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func
1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess) 在 System.Data.Entity.Core.Objects.ObjectQuery1.<>c__DisplayClass7.<GetResults>b__5() 在 System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func
1 operation) 在 System.Data.Entity.Core.Objects.ObjectQuery1.GetResults(Nullable
1 forMergeOption) 在 System.Data.Entity.Core.Objects.ObjectQuery1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0() 在 System.Data.Entity.Internal.LazyEnumerator
1.MoveNext() 在 System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 source) 在 System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__1[TResult](IEnumerable
1 sequence) 在 System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable1 query, Expression queryRoot) 在 System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[TResult](Expression expression) 在 System.Data.Entity.Internal.Linq.DbQueryProvider.Execute[TResult](Expression expression) 在 System.Linq.Queryable.FirstOrDefault[TSource](IQueryable
1 source) 在 yw56.pricecalc.Customers.CustomerAppService.<>c__DisplayClass14_0.<GetCustomerChangeCache>b__0() 位置 F:\project\pricecalc\src\yw56.pricecalc.Application\Customers\CustomerAppService.cs:行号 67 在 Abp.Runtime.Caching.CacheExtensions.<>c__DisplayClass7_02.<Get>b__0(TKey k) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Caching\CacheExtensions.cs:行号 50 在 Abp.Runtime.Caching.CacheExtensions.<>c__DisplayClass5_0
2.<Get>b__0(String k) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Caching\CacheExtensions.cs:行号 40 在 Abp.Runtime.Caching.CacheBase.Get(String key, Func2 factory) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Caching\CacheBase.cs:行号 68 在 Abp.Runtime.Caching.CacheExtensions.Get[TKey,TValue](ICache cache, TKey key, Func
2 factory) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Caching\CacheExtensions.cs:行号 40 在 Abp.Runtime.Caching.CacheExtensions.Get[TKey,TValue](ICache cache, TKey key, Func`1 factory) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Caching\CacheExtensions.cs:行号 50 在 yw56.pricecalc.Customers.CustomerAppService.GetCustomerChangeCache(String productCode) 位置 F:\project\pricecalc\src\yw56.pricecalc.Application\Customers\CustomerAppService.cs:行号 64 在 Castle.Proxies.CustomerAppServiceProxy.GetCustomerChangeCache_callback(String productCode) 在 Castle.Proxies.Invocations.ICustomerAppService_GetCustomerChangeCache.InvokeMethodOnTarget() 在 Castle.DynamicProxy.AbstractInvocation.Proceed() 在 Abp.Domain.Uow.UnitOfWorkInterceptor.PerformSyncUow(IInvocation invocation, UnitOfWorkOptions options) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 67 在 Abp.Domain.Uow.UnitOfWorkInterceptor.PerformUow(IInvocation invocation, UnitOfWorkOptions options) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 59 在 Abp.Domain.Uow.UnitOfWorkInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 49 在 Castle.DynamicProxy.AbstractInvocation.Proceed() 在 Abp.Auditing.AuditingInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Auditing\AuditingInterceptor.cs:行号 37 在 Castle.DynamicProxy.AbstractInvocation.Proceed() 在 Abp.Runtime.Validation.Interception.ValidationInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Validation\Interception\ValidationInterceptor.cs:行号 33 在 Castle.DynamicProxy.AbstractInvocation.Proceed() 在 Castle.Proxies.CustomerAppServiceProxy.GetCustomerChangeCache(String productCode) 在 yw56.pricecalc.Calcs.CalcAppService.Calc(String waybillNumber) 位置 F:\project\pricecalc\src\yw56.pricecalc.Application\Calcs\CalcAppService.cs:行号 266 在 Castle.Proxies.CalcAppServiceProxy.Calc_callback_1(String waybillNumber) 在 Castle.Proxies.Invocations.ICalcAppService_Calc_1.InvokeMethodOnTarget() 在 Castle.DynamicProxy.AbstractInvocation.Proceed() 在 Abp.Domain.Uow.UnitOfWorkInterceptor.PerformSyncUow(IInvocation invocation, UnitOfWorkOptions options) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 67 在 Abp.Domain.Uow.UnitOfWorkInterceptor.PerformUow(IInvocation invocation, UnitOfWorkOptions options) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 59 在 Abp.Domain.Uow.UnitOfWorkInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Domain\Uow\UnitOfWorkInterceptor.cs:行号 49 在 Castle.DynamicProxy.AbstractInvocation.Proceed() 在 Abp.Auditing.AuditingInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Auditing\AuditingInterceptor.cs:行号 37 在 Castle.DynamicProxy.AbstractInvocation.Proceed() 在 Abp.Runtime.Validation.Interception.ValidationInterceptor.Intercept(IInvocation invocation) 位置 D:\Github\aspnetboilerplate\src\Abp\Runtime\Validation\Interception\ValidationInterceptor.cs:行号 33 在 Castle.DynamicProxy.AbstractInvocation.Proceed() 在 Castle.Proxies.CalcAppServiceProxy.Calc(String waybillNumber) 在 yw56.pricecalc.ApplicationTests.Calc.CalcAppServiceTests.Calc() 位置 F:\project\pricecalc\src\yw56.pricecalc.ApplicationTests\Calc\CalcAppServiceTests.cs:行号 59 结果 消息: 测试方法 yw56.pricecalc.ApplicationTests.Calc.CalcAppServiceTests.Calc 引发了异常: System.Data.Entity.Core.EntityException: The underlying provider failed on Open. —> System.Transactions.TransactionException: 该伙伴事务管理器已经禁止了它对远程/网络事务的支持。 (异常来自 HRESULT:0x8004D025) —> System.Runtime.InteropServices.COMException: 该伙伴事务管理器已经禁止了它对远程/网络事务的支持。 (异常来自 HRESULT:0x8004D025)------------------ 原始邮件 ------------------ 发件人: "maliming"notifications@github.com; 发送时间: 2019年7月30日(星期二) 中午1:48 收件人: "aspnetboilerplate/aspnetboilerplate"aspnetboilerplate@noreply.github.com; 抄送: "等待"1064844330@qq.com;"Mention"mention@noreply.github.com; 主题: Re: [aspnetboilerplate/aspnetboilerplate] The partner transactionmanager has disabled its support for remote/network transactions (HRESULT0x8004D025) (#4737)
@zhanfuzhi Are you using a real database for unit testing? https://github.com/zhanfuzhi/myunittest/blob/master/myproject.ApplicationTests/app.config#L8
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
It’s OK! Add This ! Configuration.UnitOfWork.IsTransactional = false; Thanks!
public override void Initialize() { Configuration.UnitOfWork.IsTransactional = false; IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly()); }