2 .net c# workflow-foundation synchronizationcontext workflow-foundation-4
我正在创建一个STA版本的SynchronizationContext,以便在Windows Workflow 4.0中使用.我想知道在发布回调时如何处理异常.
所述的SynchronizationContext可用于发送(执行同步地)或邮政(异步执行)类型的代表SendOrPostCallback.虽然在这两种情况下我都在STA线程上调用委托,但是在同步执行时很容易知道如何处理异常.我阻塞调用线程,在我的工作线程上调用回调,记录任何异常,解锁调用线程,并在调用线程上抛出任何记录的异常.
我应该在异步Post上做什么不太清楚.没有机制将该异常从执行线程转移回调用线程; 邮差 100%火,忘了.没有EndInvoke会()或WaitHandle的在 SendOrPostCallback.抛出的任何异常都将导致应用程序被拆除.
我别无选择,只能在帖子中抛出异常,推倒我的申请表吗?这似乎是框架中SynchronizationContexts的默认行为(谢谢,Reflector).我似乎无法弄清楚为什么会这样.难道不应该有一些方法来阻止异步Post s的繁荣吗?
| 归档时间: |
|
| 查看次数: |
1625 次 |
| 最近记录: |