升级到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),即使它们现在是不同的解决方案,代码也能正常运行。
答案 0 :(得分:0)
我遇到了同样的问题,经过我升级到web api v2所做的每一次更改后3小时,我发现它与升级无关。
我的问题是我必须将NuGet SDammann.WebApi.Versioning从 v2.0.0.3 更新到最新版本 v2.5 !我认为这解决了这个问题,因为VersionedApiExplorer是针对WebApi v2修复的。