确定WCF测试客户端中方法顺序的内容



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

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

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

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

出于好奇,我查看了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方法不按特定顺序返回方法,例如字母顺序或声明顺序。您的代码不能依赖取决于返回方法的顺序,因为该顺序不同。

这就是我所能找到的:)

最新更新