[asp.net-mvc]5,MVC Web API 和欧文真

发布时间: 2017/3/25 2:40:17
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

当我说,Web API 可以运行在浩然和 MVC 5 不能我会正确吗?

所以在我的项目我仍然需要与我 Global.asaxpublic class WebApiApplication : System.Web.HttpApplication

那一刻,我有我 owin Startup.cs,看起来像这样︰

public void Configuration(IAppBuilder app)
{
    var httpConfig = new HttpConfiguration
    {

    };


    WebApiConfig.Register(httpConfig);

    app.UseWebApi(httpConfig);
    app.UseCors(CorsOptions.AllowAll);

    RouteConfig.RegisterRoutes(RouteTable.Routes);//MVC Routing
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}

是 RouteConfig.RegisterRoutes(RouteTable.Routes) 够大吗?

每当我浏览到任何 MVC 路线我会得到一个 404。

解决方法 1:

当我说,Web API 可以运行在浩然和 MVC 5 不能我会正确吗?

不清楚您在问什么但浩然不是服务器但它是注入管道前, 阶段和它在处理请求的帮助并不取决于 WebAPI 的中间件或 MVC 版本,但它取决于如果托管服务器有浩然规格执行。

是 RouteConfig.RegisterRoutes(RouteTable.Routes) 不够吗?

是的这将工作 Asp.net MVC,但 web api,你需要先注册才能在单独的配置类注册路由。通常的 WebAPI 配置可能看起来像指定默认 Asp.net WebAPI template(> vs2013)

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Web API routes
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}

请确保你的请求的 Url 匹配的 MVC 或 WebAPI 路线模板。

官方微信
官方QQ群
31647020