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

我已经为Web Api 2安装了正确的包
Install-Package Microsoft.AspNet.WebApi.HelpPage -Pre

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

public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            //required for MVC areas new HttpConfiguration() doesn't work with MVC
            var config = GlobalConfiguration.Configuration;

            AreaRegistration.RegisterallAreas();

            WepApiStartup.Configure(config);

            app.UseWebApi(config);

        }
    }

解决方法

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

请改用以下代码

public class Startup
{
    public static HttpConfiguration HttpConfiguration { get; private set; }

    public void Configuration(IAppBuilder app)
    {
        HttpConfiguration = new HttpConfiguration();

        AreaRegistration.RegisterallAreas();

        WebApiConfig.Register(HttpConfiguration);

        app.UseWebApi(HttpConfiguration);
    }
}

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

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...