异步调用代理类
asyncinvokeproxy.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace AsyncInvokeDemo
{
public class AsyncInvokeProxy<T1>
{
private Action<T1> _task;
public AsyncInvokeProxy(Action<T1> task)
{
this._task = task;
}
public void BeginEnvoke<T2>(T1 args, Action<T2, Exception> cb, T2 cbArgs)
{
this._task.BeginInvoke(args, new AsyncCallback((r) =>
{
try
{
cb(cbArgs, null);
this._task.EndInvoke(r);
}
catch (Exception ex)
{
cb(cbArgs, ex);
}
}), cbArgs);
}
}
}使用:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AsyncInvokeDemo
{
class Program
{
static void Main(string[] args)
{
Action<A> test = (a) =>
{
Console.WriteLine("start to invoke");
for (int i = 0; i < 1000; i++)
{
Console.WriteLine(i);
}
Console.WriteLine("invoke args aint : {0},astr: {1} ", a.aInt, a.aStr);
};
AsyncInvokeProxy<A> proxy = new AsyncInvokeProxy<A>(test);
proxy.BeginEnvoke<B>(new A { aInt = 1, aStr = "astr" }, (b, ex) =>
{
if (ex != null)
{
}
Console.WriteLine("callback ret bint: {0},bstr: {1}", b.bInt, b.bStr);
}, new B { bInt = 2, bStr = "bstr" });
Console.ReadLine();
}
}
} 以上就是C# 异步调用代理类的示例代码详情的内容,更多相关内容请关注PHP中文网(www.php.cn)!
本支付接口的特点,主要是用xml文件来记录订单详情和支付详情。代码比较简单,只要将里面的商户号、商户key换成你自己的,将回调url换成你的网站,就可以使用了。通过这个实例也可以很好的了解一般在线支付接口的基本工作原理。其中的pay.config文件记录的是支付详情,order.config是订单详情
0
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号