单独项目下的ASP.NET Web API帮助页面

时间:2015-02-04 08:48:32

标签: c# asp.net .net asp.net-web-api asp.net-web-api-helppages

我有ASP.NET Web API项目,我想添加一个帮助页面,但我希望它在一个单独的项目中。

有可能吗?

2 个答案:

答案 0 :(得分:1)

您应该从帮助项目中的Web API项目调用WebApiConfig.Register:

  protected void Application_Start()
  {
     AreaRegistration.RegisterAllAreas();
     RouteConfig.RegisterRoutes(RouteTable.Routes);
     GlobalConfiguration.Configure(MyApiProjectNamespace.WebApiConfig.Register);
  }

答案 1 :(得分:0)

您可以将XmlDocumentationProvider构造函数重写为以下内容:

public XmlDocumentationProvider(string appDataPath)
{
    if (appDataPath == null)
    {
        throw new ArgumentNullException(nameof(appDataPath));
    }

    var files = new[] { "MyWebApiProject.xml" /*, ... any other projects */ };
    foreach (var file in files)
    {
        var xpath = new XPathDocument(Path.Combine(appDataPath, file));
        _documentNavigators.Add(xpath.CreateNavigator());
    }
}

它将包含您在数组中列出的所有xml文档文件。您还应确保目标Web API项目(以及所有模型项目,如果需要)生成有关构建的文档并将其复制到正确的位置。 enter image description here