我想创建一个应用程序,它将采用dll或Webservice的路径并列出该dll中存在的所有函数。我使用this完成了函数的列表,但是我无法列出Webservices的函数。使用 Assembly.GetMembers(),它列出了带参数类型的函数名称,我无法获取参数名称。我该怎么做?在调试时我发现m_parameters是一个非公共成员,我无法获取参数名称。那可能吗???还有一个问题是如何在不使用C#在Windows应用程序中包含Web引用或服务引用的情况下列出Web服务中可用的功能。
答案 0 :(得分:3)
你在谈论什么网络服务? ASP.NET ASMX webservices? Web服务基于WCF ??
在任何情况下,大多数这些Web服务都会公开WSDL document,它基本上包含Web服务上的方法,以及调用所需的参数。
请注意:Web服务不必发布WSDL - 它是可选的。但是如果有的话,通常会通过将?wsdl
添加到服务所在的URL来访问它,因此如果您想了解素数生成器Web服务的方法和参数:
http://www50.brinkster.com/vbfacileinpt/np.asmx
有,你去了
http://www50.brinkster.com/vbfacileinpt/np.asmx?wsdl
并获取WSDL并开始分析它。
答案 1 :(得分:2)
要获取参数名称,请使用MethodInfo.GetParameters,后跟ParamterInfo.Name属性。