8

我从 NuGet 安装了软件包,取消了 HelpPageConfig.cs- 中的注释行

config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));

我在 Properties->Build->XML 文档文件下设置了相同的文件,添加了一个新的 Global.asax.cs 文件,我在其中调用 Application_Start 方法下的所有区域进行注册:

protected void Application_Start(object sender, EventArgs e)
{
     AreaRegistration.RegisterAllAreas();
}

我为我的一些控制器添加了一些摘要:

public class IncidentsController : ApiController
{
     /// <summary>
     /// this is the summary
     /// </summary>
     /// <param name="incidentId">this is incidentId</param>
     /// <returns>it returns something</returns>
     [Route("{incidentId}")]
     [HttpGet]
     public object GetIncidentById(int incidentId)
     {
            return Incidents.SingleOrDefault(i => i.id == incidentId);
     }
}

当我运行网页并转到“/帮助”时,我唯一看到的是

ASP.NET Web API 帮助页面

介绍

在此处提供您的 API 的一般描述。

然后是一个空白页面......

我试图调试它并在 HelpController.cs 中:

public ActionResult Index()
{
            ViewBag.DocumentationProvider = Configuration.Services.GetDocumentationProvider();
            return View(Configuration.Services.GetApiExplorer().ApiDescriptions);
}

我没有 ApiDescriptions。

我错过了什么?我将不胜感激任何帮助!

4

2 回答 2

13

我能够通过添加GlobalConfiguration.Configure (WebApiConfig.Register);我的Application_Start ()方法来解决这个问题。因为我的应用程序使用 OWIN,所以我只在Startup.Configuration (IAppBuilder app).

于 2015-11-09T18:52:45.223 回答
0

您是否正确映射了 XML 路径?

您是否在方法中添加了摘要?/// /// 从服务器获取一些非常重要的数据。///

这应该会有所帮助您是否检查过 WebApi 帮助页面说明

于 2015-08-25T13:01:31.933 回答