2013-09-26 52 views
4

如何以編程方式獲取公開方法w /參數在我的webAPI項目中公開的列表?我需要將此列表提供給我們的質量檢查部門。我不想自己編譯和維護列表。我想爲QA提供一個鏈接,以便自己查找方法。我需要像瀏覽到.asmx文件時獲得的內容。如何獲得WebAPI項目中暴露的方法?

+0

Web API提供了HelpPage ...更多你可以看看這篇文章:http://blogs.msdn.com/b/yaohuang1/archive/2012/08/15/introducing-the-asp-net-web -api-help-page-preview.aspx –

+0

請注意,上面的視頻已超過一年,但它仍然可以給你一些有用的信息。 –

回答

5

ASP.NET Web API允許您自動創建幫助頁面。該幫助頁面記錄您的API提供的所有端點。請參閱此博客文章:Creating Help Pages for ASP.NET Web API

您當然可以通過利用IApiExplorer界面創建完全自定義的文檔。

0

你可以嘗試這樣的事:

public static void Main() 
    { 
     Type myType =(typeof(MyTypeClass)); 
     // Get the public methods. 
     MethodInfo[] myArrayMethodInfo = myType.GetMethods(BindingFlags.Public|BindingFlags.Instance|BindingFlags.DeclaredOnly); 
     Console.WriteLine("\nThe number of public methods is {0}.", myArrayMethodInfo.Length); 
     // Display all the methods. 
     DisplayMethodInfo(myArrayMethodInfo); 
     // Get the nonpublic methods. 
     MethodInfo[] myArrayMethodInfo1 = myType.GetMethods(BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.DeclaredOnly); 
     Console.WriteLine("\nThe number of protected methods is {0}.", myArrayMethodInfo1.Length); 
     // Display information for all methods. 
     DisplayMethodInfo(myArrayMethodInfo1);  
    } 
    public static void DisplayMethodInfo(MethodInfo[] myArrayMethodInfo) 
    { 
     // Display information for all methods. 
     for(int i=0;i<myArrayMethodInfo.Length;i++) 
     { 
      MethodInfo myMethodInfo = (MethodInfo)myArrayMethodInfo[i]; 
      Console.WriteLine("\nThe name of the method is {0}.", myMethodInfo.Name); 
     } 
    } 

我從here

0

這裏得到它是從斯科特谷的報價,回答你的問題:

的Web API沒有按」 t直接支持WSDL或SOAP。如果您想使用基於WCF/WSDL的模型來同時支持SOAP和REST,則可以使用WCF REST支持。

你的問題被問和在這裏找到答案還有: ASP.NET Web API interface (WSDL)

希望有所幫助。