列出Web服务的功能

时间:2010-03-17 04:52:04

标签: c# reflection

我想创建一个应用程序,它将采用dll或Webservice的路径并列出该dll中存在的所有函数。我使用this完成了函数的列表,但是我无法列出Webservices的函数。使用 Assembly.GetMembers(),它列出了带参数类型的函数名称,我无法获取参数名称。我该怎么做?在调试时我发现m_parameters是一个非公共成员,我无法获取参数名称。那可能吗???还有一个问题是如何在不使用C#在Windows应用程序中包含Web引用或服务引用的情况下列出Web服务中可用的功能。

2 个答案:

答案 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属性。