/// <summary>
        ///     创建一个新的事务
        /// </summary>
        /// <param name="role">针对的服务角色</param>
        /// <returns>返回新的事务</returns>
        /// <exception cref="ArgumentNullException">参数不能为空</exception>
        public MetadataMessageTransaction CreateMetadataTransaction(string role)
        {
            if (string.IsNullOrEmpty(role))
            {
                throw new ArgumentNullException("role");
            }
            string errMsg;
            IServerConnectionAgent <MetadataContainer> agent = _metadataCluster.GetChannel(role, _metadataProtocolStack, out errMsg);

            return(agent == null
                       ? new FailMobiSageMetadataTransaction(errMsg)
                       : _metadataTransactionManager.Create(IdentityHelper.Create((IPEndPoint)agent.GetChannel().LocalEndPoint), agent.GetChannel()));
        }
 /// <summary>
 ///     创建一个新的事务
 /// </summary>
 /// <returns>返回新创建的事务</returns>
 /// <exception cref="ArgumentNullException">参数错误</exception>
 public MessageTransaction <MetadataContainer> CreateTransaction()
 {
     return(_transactionManager.Create(IdentityHelper.Create(_channel.LocalEndPoint, _channel.ChannelType), _channel));
 }