【发布时间】:2015-09-15 11:13:32
【问题描述】:
我创建了一个服务,用于侦听启动可执行文件的命令,该服务通过 WPF 应用程序托管,该应用程序带有一个向用户显示消息的列表框。
问题是,服务可能会抛出异常,我想捕获并显示在列表框中;唯一的问题是我不确定如何捕获这些异常,因为该服务当然是从ServiceHost 运行的。
在不将服务绑定到 UI 的情况下(我想避免这种情况,以便我可以在控制台应用程序中重复使用它),我真正能想到的最好的事情是向服务添加一个事件当抛出异常时调用它,我会将异常传递给处理程序。
无论如何,我的服务是在ServiceHost 之外创建的(作为单例对象),因为它有一个启动可执行文件的事件。
这是解决此问题的最佳方法吗?如果不是,那是什么?
【问题讨论】:
-
阅读WCF服务中的FaultContract.....msdn.microsoft.com/en-us/library/ms752208(v=vs.110).aspx
-
感谢@Viru,但我不确定这就是我所追求的;我不想通知客户端错误,而是通知服务器。除非我读错了,而且两者都用?
-
你在做自助托管吗?如果你能放一些你到目前为止尝试过的代码,那就太好了......它真的会帮助我理解问题
-
@Viru 如果您确实阅读了 OP 声明他们在 WPF 容器中托管的问题。 FaultContract 也不是 OP 在这里寻找的。你是只看了帖子的标题还是什么?