从控制台应用程序获取ApiDescription.Documentation

时间:2017-09-29 20:55:13

标签: c# asp.net-web-api .net-4.0 asp.net-web-api2

我正在开发一个自动生成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。

0 个答案:

没有答案