【发布时间】:2011-10-06 05:48:39
【问题描述】:
我需要实现以下场景: 如果客户端启动事务,它会流向服务器,但如果客户端没有启动事务,则必须在没有事务的情况下执行服务方法。可能吗?在我的情况下,如果没有 TransactionScopeRequired=true,事务就不会流动。
服务器:
[服务合同] 公共接口 ITcpTransactionalService { [运营合同] [TransactionFlow(TransactionFlowOption.Allowed)] 无效 DoWork(); } //[操作行为(TransactionScopeRequired = true)] 公共无效 DoWork() { Debug.Assert(Transaction.Current != null); Debug.Assert(Transaction.Current.TransactionInformation.DistributedIdentifier != Guid.Empty); } 绑定> 身份> 端点> 主机> 服务> 服务> 行为> 服务行为> 行为>
客户:
私有静态无效TestTcp() { 使用 (var scope = new TransactionScope()) { var client = new TcpTransactionalService.TcpTransactionalServiceClient(); 客户端.DoWork(); Debug.Assert(Transaction.Current != null); Debug.Assert(Transaction.Current.TransactionInformation.DistributedIdentifier != Guid.Empty); 范围。完成(); } } 绑定> 安全> 绑定> 身份> 端点> 客户>
【问题讨论】:
标签: wcf