ps.修改有风险,该文为转载
2008-03的存档
1.引用命名空间
using System.Runtime.Remoting.Messaging;
2.定义委托方法
/// <summary>
/// 带参数异步委托
/// </summary>
/// <param name="parameter1"></param>
/// <returns></returns>
delegate Guid MyMutilParamsDelegate(Guid parameter1);
3.创建中转对象
public class MyTask
{
public MyTask()
{
}
public Guid Test(Guid vGuid)
{
return vGuid;
}
}
4.异步调用
public void UpdateVisitorTime(Guid visitorguid)
{
MyTask t = new MyTask();
MyMutilParamsDelegate mutilParams = new MyMutilParamsDelegate(t.Test);
mutilParams.BeginInvoke(visitorguid, new AsyncCallback(UpdateTime), null);
}
5.Callback
private void UpdateTime(IAsyncResult result)
{
AsyncResult async = (AsyncResult)result;
MyMutilParamsDelegate DelegateInstance = (MyMutilParamsDelegate)async.AsyncDelegate;
Guid vGuid = DelegateInstance.EndInvoke(result);
//其他处理
}




您还没有登录,请登录后继续操作。