是否有 WCF 方法调用开始和结束的事件



我正在使用 WCF 服务生成一个 WPF 应用程序来为其提供数据。 普通无聊的东西。 我没有使用 RIA。

有一个全局视图模型,在该模型中,我只维护一个对用于所有服务调用的服务客户端对象的引用。 我有一个小屏幕拦截器,可以阻止用户在等待重要数据时与应用程序交互。 我希望这在我的整个应用程序中实现自动化。 所以我正在寻找服务客户端(或其内部通道)上的事件来挂钩,以便我可以自动执行此操作。

到目前为止,我还没有找到它们。 我得到的最接近的是 Web 服务公开的每个方法的已完成事件 - 但没有调用这些方法的时间。 几年前我做了一些WPF/WCF工作,我设法完成了这项工作,但我不记得是怎么做的。 有谁知道这个秘密?

您可以创建一个实现 IClientMessageInspector 的类,并使用行为注册它。请参阅这篇文章以获得很好的答案。

我会创建一个代理代理。新的代理基本上会包装每个调用:引发一个开始事件,调用实际方法,引发一个结束事件。借助可以为您创建此类代理的东西,这可能很容易。Castle.DynamicProxy应该可以做到这一点。

最新更新