再开一贴求助下。关于异步委托的。
请教下,异步委托抛NOTSUPPURTEXCEPTION代码如下:
delegate byte[] ConvertDataValue(byte[] recvBuf, DataValueField data, ref Queue queue);
ConvertDataValue SyncDataDecode = new ConvertDataValue(DecBuffers);
AsyncCallback callback=new AsyncCallback(DecCallback);
SyncDataState state = new SyncDataState();
state.Data = item;
state.Dn = SyncDataDecode;
IAsyncResult iar = SyncDataDecode.BeginInvoke(tmp, item, ref queue, callback, state);
private byte[] DecBuffers(byte[] outputBuf,DataValueField data,ref Queue queue)
{
//业务处理
}
--------------------编程问答-------------------- 在使用委托时报错。不知道啥原因。在网上看资料说是BeginInvoke得成对使用,我这里有endivoke啊。 --------------------编程问答-------------------- 对了,忘说了,环境,WINCE,刚查了下资料,貌似说wince下这种问题比较多,在PC环境下是正常的。不知道是这样不 --------------------编程问答-------------------- 格式无错误,检查SyncDataState,有可能错误出此处。 --------------------编程问答-------------------- State也莫问题的。检查N遍了。 --------------------编程问答-------------------- 从提示看,是不支持的异常信息
private void DecCallback(IAsyncResult rs)
{
SyncDataState state = rs.AsyncState as SyncDataState;
Queue queue=new Queue();
DataValueField data = state.Data;
while (!rs.IsCompleted)
{
rs.AsyncWaitHandle.WaitOne(5, false);
}
}
是不是try...catch...异常捕捉上有问题 --------------------编程问答-------------------- 怎么可能 ,一加上,连方法都进不去啊。就报异常了。
补充:.NET技术 , C#