是什么决定了WCF测试客户端中方法的顺序?

时间:2015-03-19 17:35:52

标签: .net wcf wcftestclient

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

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

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

那么确定订单是什么?

1 个答案:

答案 0 :(得分: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方法不按特定顺序返回方法,   如字母或声明顺序。您的代码不得依赖   返回方法的顺序,因为该顺序不同。

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