WCF测试客户端似乎没有按任何逻辑顺序放置方法。但是,顺序是一致的。在每个环境中都保持不变。
它不是按字母顺序排列的。它不是班级中方法的顺序。 WCF测试客户端中的顺序与WSDL中的顺序不匹配。
虽然不是完全随机的。订单有时与班级匹配。但是,您可以更改类中的顺序,重新编译,当您将服务添加回WCF测试客户端时,它不会更改为匹配。
那么确定订单是什么?
答案 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方法不按特定顺序返回方法, 如字母或声明顺序。您的代码不得依赖 返回方法的顺序,因为该顺序不同。
这就是我能找到的全部内容:)