发布
社区首页 >问答首页 >Caliburn/Castle WCF Facility handle EndpointNotFoundException

Caliburn/Castle WCF Facility handle EndpointNotFoundException
EN

Stack Overflow用户
提问于 2010-12-22 05:00:25
回答 1查看 321关注 0票数 1

我正在结合Castle Windsor和WCF Facility使用Caliburn (一个MVVM框架)。

我的Presenter类有一个构造函数依赖项,它实际上是一个WCF协定,将由Windsor容器提供。

我想要实现的是,如果找不到端点,该演示者显然无法显示,我希望显示一个视图,解释“无法定位显示此表单所需的网络服务。请稍后再试。”

将代码集中到Castle/Caliburn中的最佳方式是什么,以便显示相同的错误视图,无论应用程序中的哪个位置由于EndpointNotFoundException而无法解析presenter?

有什么想法吗?

我想避免不得不在所有presenter解析周围放一个“try/catch端点-找不到”,以防它依赖于WCF……

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-23 04:05:47

一个快速(但在我看来有点脏)的解决方案可能是用一个救援过滤器来装饰所有调用的呈现器,从而允许一个救援方法来拦截那个特定的异常。如果您有一个共同的基类(您只需将其应用于共同的祖先),那么将筛选器应用于所有呈现者可能相对容易,否则您必须手动应用筛选器或自定义路由消息堆栈(这有点困难)。

您还可以使用代理而不是真正的服务来构建某种“惰性实例化”。在此代理中,您可以在try/catch处理程序下解析实际的WCF服务,如果内部解析失败,则会打开一个信息窗口。我不太喜欢这个解决方案,因为你没有关于调用上下文的线索,所以你可以向用户显示信息,即使它是不合适的。

我还想指出an elegant way to handle network outage,它自动禁用动作的启动点,打开需要网络连接的演示者。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4503852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档