我正在开发一个自动生成Web Api项目文档的控制台应用程序,类似于MVC帮助页面。从Web API MVC帮助页面检索数据。即:
var documentationProvider = Configuration.Services.GetDocumentationProvider();
var apiModelDescriptions = new ApiModelDescriptions(Configuration);
在我的控制台应用程序中,循环访问控制器和操作,System.Web.Http.Description.ApiDescription.Documentation为null。但是当从Web Api运行时,它将填充XML Summary注释(///方法之前的注释)。
我还注意到,当我尝试利用config.Services.GetDocumentationProvider时,它为null。它有关系吗?我可以从控制台应用程序中利用它吗?它适用于Web Api。
来自控制台应用:
HttpConfiguration config;
config = new HttpConfiguration();
WebApiConfig.ConfigRoutes(config);
var documentationProvider = config.Services.GetDocumentationProvider();
来自Web Api帮助页面:
public HelpController()
: this(GlobalConfiguration.Configuration) { }
public HelpController(HttpConfiguration config)
{
Configuration = config;
}
public HttpConfiguration Configuration { get; private set; }
public ActionResult Index()
{
var documentationProvider = Configuration.Services.GetDocumentationProvider();
var descriptions = config.Services.GetApiExplorer().ApiDescriptions;
我不想解析程序集生成的XML。