升级到Web API 2.1后,ASP.Net API帮助页面不再有效

时间:2014-05-07 18:27:29

标签: .net asp.net-web-api2

升级到Web API 2.1后,我的帮助页面不再有效。有什么建议吗?

我没有改变任何东西,我没有使用Glimpse

但是当我执行

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

ApiDescriptions中的所有描述都返回文档:“没有可用的文档。”

我的控制器或视图中没有任何变化。

任何想法从哪里开始寻找?

虽然我已经验证我在构建属性中选中了“XML文档文件”,但不再生成xml文件。

修改 按照sunil的建议,我进一步了解了一下。在HelpPageConfig中,我取消了代码

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

所以我现在从ApiDescriptions获取描述,但现在在

    private static void GenerateResourceDescription(HelpPageApiModel apiModel, ModelDescriptionGenerator modelGenerator)
    {
        ResponseDescription response = apiModel.ApiDescription.ResponseDescription;
        Type responseType = response.ResponseType ?? response.DeclaredType;

apiModel.ApiDescription.ResponseDescription为null,导致错误。 ApiDescription确实有值,所以我可以解决这个问题,但有些东西还没有被初始化吗?

此外,如果我首先运行旧版本的副本(使用原始Web API),即使它们现在是不同的解决方案,代码也能正常运行。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,经过我升级到web api v2所做的每一次更改后3小时,我发现它与升级无关。

我的问题是我必须将NuGet SDammann.WebApi.Versioning v2.0.0.3 更新到最新版本 v2.5 !我认为这解决了这个问题,因为VersionedApiExplorer是针对WebApi v2修复的。