Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.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# 反思与反思;周转基金_C#_Wcf_Parsing_Reflection - Fatal编程技术网

C# 反思与反思;周转基金

C# 反思与反思;周转基金,c#,wcf,parsing,reflection,C#,Wcf,Parsing,Reflection,我想从Web服务获取应用程序使用的所有操作\方法的列表。例如:如果有一个webservice1,而应用程序a正在使用webservice1,那么我希望能够以某种方式找到应用程序a正在使用的所有操作。我对web服务接口公开的所有方法的列表不感兴趣,而只对应用程序中正在使用的方法感兴趣 我正在尝试使用反射加载应用程序集。使用反射,我可以缩小应用程序中的服务引用范围,还可以获取web服务接口中公开的操作列表,但无法获取任何句柄如何获取应用程序中使用的操作列表?我们可以通过反射获得这样的信息吗?静态地预

我想从Web服务获取应用程序使用的所有操作\方法的列表。例如:如果有一个webservice1,而应用程序a正在使用webservice1,那么我希望能够以某种方式找到应用程序a正在使用的所有操作。我对web服务接口公开的所有方法的列表不感兴趣,而只对应用程序中正在使用的方法感兴趣


我正在尝试使用反射加载应用程序集。使用反射,我可以缩小应用程序中的服务引用范围,还可以获取web服务接口中公开的操作列表,但无法获取任何句柄如何获取应用程序中使用的操作列表?我们可以通过反射获得这样的信息吗?

静态地预测客户端可能对WCF服务调用什么操作是不可能的。发现客户机实际调用什么的一个方便方法是让服务器生成WCF跟踪。

不是您所描述的程度-即使使用反射,“消费”也可以在多个方面有所帮助…我不是100%,但我认为您必须扫描每个方法的il代码才能做到这一点。。。可能会有帮助这并不完全是你想要的,但是你可以使用网络嗅探器(比如Wireshark)准确地找出正在使用的操作。但这并不是一个完美的解决方案(例如,它不适用于命名管道传输),但这肯定比尝试使用反射更容易。@Bahri-感谢这篇文章。我能够使用MethodBody获得字节数组,但我仍然不确定方向是否正确。这个字节数组用于正在使用的操作吗?可以确定对代理类的方法调用,或者找不到用法。我假设Nutty正试图复制这种行为,因为他显然足够聪明,可以使用内置工具,或者如果他只是想调用特定的代理,就可以购买ReSharper。