Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何拦截客户端上的任何WCF/Ria服务调用?_C#_.net_Wcf_Silverlight_Wcf Ria Services - Fatal编程技术网

C# 如何拦截客户端上的任何WCF/Ria服务调用?

C# 如何拦截客户端上的任何WCF/Ria服务调用?,c#,.net,wcf,silverlight,wcf-ria-services,C#,.net,Wcf,Silverlight,Wcf Ria Services,我想在Silverlight中拦截对Ria服务的任何调用,这样我就可以显示一个加载程序。是否可以通过某些WCF Api或我必须编写自己的解决方案?您可以创建上下文类的部分类,并在OnCreated部分方法中添加一些客户端行为,如IClientMessageInspector,该方法提供发送请求前和接收后方法 请参阅或此。您可以为上下文类创建一个分部类,并在OnCreated分部方法中添加一些客户端行为,如IClientMessageInspector,它提供发送请求前和接收后方法 请参阅或此。谢

我想在Silverlight中拦截对Ria服务的任何调用,这样我就可以显示一个加载程序。是否可以通过某些WCF Api或我必须编写自己的解决方案?

您可以创建上下文类的部分类,并在
OnCreated
部分方法中添加一些客户端行为,如
IClientMessageInspector
,该方法提供
发送请求前
接收后
方法


请参阅或此。

您可以为上下文类创建一个分部类,并在
OnCreated
分部方法中添加一些客户端行为,如
IClientMessageInspector
,它提供
发送请求前
接收后
方法


请参阅或此。

谢谢您的回答,它肯定很有用。但是,我的应用程序有多个域上下文,我希望找到一种方法使其对所有WCF调用都是全局的,这样我就不必记住为每个上下文创建分部。我把你的答案看作是通过改变RIA生成类的方式来实现这一点的一种方法,但如果可以省略的话,我不想把它弄糟。如果你声明了一个引用单个DLL的“behaviorExtensions”,那么在你的客户端“endpoint”标记中,你用“behaviorConfiguration”引用它,你的所有客户端WCF调用都将被捕获,而不需要任何代码。我提到的DLL有一个实现“IClientMessageInspector”的类。如果您将.config文件用于客户端WCF连接属性,这将起作用。如果你需要更多的细节,请告诉我。谢谢你的回答,这肯定很有用。但是,我的应用程序有多个域上下文,我希望找到一种方法使其对所有WCF调用都是全局的,这样我就不必记住为每个上下文创建分部。我把你的答案看作是通过改变RIA生成类的方式来实现这一点的一种方法,但如果可以省略的话,我不想把它弄糟。如果你声明了一个引用单个DLL的“behaviorExtensions”,那么在你的客户端“endpoint”标记中,你用“behaviorConfiguration”引用它,你的所有客户端WCF调用都将被捕获,而不需要任何代码。我提到的DLL有一个实现“IClientMessageInspector”的类。如果您将.config文件用于客户端WCF连接属性,这将起作用。如果你需要更多的细节,请告诉我。