asp.net-web-api – 使用Owin时无法获取ASP.NET Web API 2帮助页面的工作

前端之家收集整理的这篇文章主要介绍了asp.net-web-api – 使用Owin时无法获取ASP.NET Web API 2帮助页面的工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经为Web Api 2安装了正确的包
  1. Install-Package Microsoft.AspNet.WebApi.HelpPage -Pre

但是帮助区域没有映射,并返回404(Web Api工作正常).我正在使用Microsoft.Owin.Host.SystemWeb作为主机.以下是我的启动代码.

  1. public class Startup
  2. {
  3. public void Configuration(IAppBuilder app)
  4. {
  5. //required for MVC areas new HttpConfiguration() doesn't work with MVC
  6. var config = GlobalConfiguration.Configuration;
  7.  
  8. AreaRegistration.RegisterAllAreas();
  9.  
  10. WepApiStartup.Configure(config);
  11.  
  12. app.UseWebApi(config);
  13.  
  14. }
  15. }

解决方法

GlobalConfiguration.Configuration是特定于Web主机的HttpConfiguraiton,它只能用于Web主机场景.使用它与OWIN主机会导致意外的问题.

请改用以下代码

  1. public class Startup
  2. {
  3. public static HttpConfiguration HttpConfiguration { get; private set; }
  4.  
  5. public void Configuration(IAppBuilder app)
  6. {
  7. HttpConfiguration = new HttpConfiguration();
  8.  
  9. AreaRegistration.RegisterAllAreas();
  10.  
  11. WebApiConfig.Register(HttpConfiguration);
  12.  
  13. app.UseWebApi(HttpConfiguration);
  14. }
  15. }

使用Startup.HttpConfiguration替换所有GlobalConfiguration.Configuration,包括帮助页面文件.

猜你在找的asp.Net相关文章