 闽公网安备 35020302035485号
                
                闽公网安备 35020302035485号
                            using ( var client = new RemoteClient(gatewayAddrs))
            {
                //标识后面的调用需要启用分布式事务控制
                client.BeginTransaction();
                
                //获取服务接口
                var accountService = await client.GetMicroServiceAsync("UserAccountService");
                var giftService = await client.GetMicroServiceAsync("UserAccountService");
                //扣除指定用户100积分
                accountService.InvokeAsync("UseMemberPoints", userid , 100 );
                //把某个礼品赠予指定用户
                var ret = await giftService.InvokeAsync<GiftResult>("GiveGiftToUser", giftid, userid);
                if(ret.GiftsReceivedCount > 10)
                {
                    //如果累计收取礼品大于10个,升级用户vip等级
                    accountService.InvokeAsync("UpgradeVip" , userid);
                }
                //提交分布式事务
                await client.CommitTransactionAsync();
            }
这是一段调用几个微服务的代码,功能是:扣除用户100积分,同时把一个礼品转给这个用户,如果发现此用户累计已经兑换超过10个礼品,那么提升此用户的vip等级。代码很简单,看不出有什么问题,并且上面所调用的三个接口函数,也都是通过了单元测试。但运行后却发现卡死在client.CommitTransactionAsync()。
	
