3

WCF 测试客户端似乎没有按任何逻辑顺序放置方法。但是,顺序是一致的。它在每个环境中都保持不变。

它不是按字母顺序排列的。这不是类中方法的顺序。WCF 测试客户端中的顺序与 WSDL 中的顺序不匹配。

但这并不是完全随机的。顺序有时与班级相匹配。但是您可以更改类中的顺序,重新编译,当您将服务添加回 WCF 测试客户端时,它不会更改为匹配。

那么是什么决定了顺序呢?

4

1 回答 1

5

出于好奇,我查看了 WcfClientTest.exe 源代码以了解命令是什么。

以下代码可能是所有方法都填充的地方(免责声明:我只是猜到了!没有时间验证这一点):

endpoint.ClientTypeName = GetContractTypeName(contractType);
foreach (MethodInfo info in contractType.GetMethods())
{

那么 GetMethods 返回的方法的顺序是什么?根据此 MSDN 链接:https ://msdn.microsoft.com/en-us/library/4d848zkb(v=vs.110).aspx

GetMethods 方法不按特定顺序返回方法,例如字母顺序或声明顺序。您的代码不能依赖于返回方法的顺序,因为该顺序会有所不同。

这就是我能找到的全部:)

于 2015-04-06T11:44:45.463 回答