委托异步调用

///

///委托类异步调用

/// 

  public class CPassportLog
    {
  private delegate int AsyncAddUserLoginLog(int iPartitionID, Guid UserCode, string strUserName,
            int iGameID, int iServerID, DateTime dtLogin, string strIPAddr, out string strErrInfo);

        public static int AddUserLoginLog(int iPartitionID,Guid UserCode,string strUserName,
            int iGameID,int iServerID,DateTime dtLogin,string strIPAddr, out string strErrInfo){。。。}

  static public void BeginAddUserLoginLog(int iPartitionID,Guid UserCode,string strUserName,
            int iGameID,int iServerID,DateTime dtLogin,string strIPAddr, AsyncCallback CB)
        {
            AsyncAddUserLoginLog AddLog = new AsyncAddUserLoginLog(AddUserLoginLog);
            string strErrInfo;
            IAsyncResult AR = AddLog.BeginInvoke(iPartitionID,UserCode,strUserName,
            iGameID,iServerID,dtLogin,strIPAddr,out strErrInfo, CB, AddLog);
        }

        static public int EndAddUserLoginLog(out string strErrInfo, IAsyncResult AR)
        {
            AsyncAddUserLoginLog AddLog = (AsyncAddUserLoginLog)AR.AsyncState;
            int iRetCode = AddLog.EndInvoke(out strErrInfo, AR);
            return iRetCode;
        }
    }

 

外部调用:

CPassportLog.BeginAddUserLoginLog(User.PartitionID, User.UserCode, User.UserName,
                        iGameID, iServerID, DateTime.Now, strIPAddr, CBAddUserLoginLog);

 

 static private void CBAddUserLoginLog(IAsyncResult AR)
        {
            string strErrInfo;
            PassportLib.CPassportLog.EndAddUserLoginLog(out strErrInfo, AR);
        }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值