我正在使用WCF服务生成一个WPF应用程序来提供数据。正常无聊的东西。我没有使用RIA。
我有一个全局视图模型,其中我只维护一个对我用于所有服务调用的服务客户端对象的引用。我有一个小屏幕拦截器阻止用户在等待重要数据时与应用程序交互。我希望这在整个应用程序中实现自动化。所以我正在寻找服务客户端(或其内部通道)上的事件来挂钩,所以我可以自动执行此操作。
到目前为止,我还没有找到它们。我得到的最接近的是Web服务公开的每个方法的已完成事件 - 但是调用方法时没有任何内容。几年前我做了一些WPF / WCF工作,我设法做了这个工作,但我不记得怎么做了。有人知道这个秘密吗?
答案 0 :(得分:0)
我会创建代理的代理。新代理基本上会包装每个调用:引发一个起始事件,调用实际方法,引发结束事件。通过一些可以为您创建这样的代理的东西的帮助,这可能很容易。 Castle.DynamicProxy应该可以解决问题。
答案 1 :(得分:0)
您可以创建一个实现IClientMessageInspector的类,并使用行为进行注册。请参阅此post以获得一个好的答案。