IApplicationBuilder Map

时间:2015-06-29 13:57:50

标签: c# asp.net-mvc asp.net-web-api asp.net-core-mvc

我正在尝试新的asp.net 5以及VSNET 2015 RC。

配置我的webapp: Microsoft.AspNet.Mvc 6.0.0-beta4

我对这种行为感到很困惑: 如果我使用

 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {
      ...
      app.UseMvc();
 }
一切正常。我叫我的控制器通过 http://localhost:1234/api/values一切都很好。

为了我的测试,如果我在

中更改上面的代码段
 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {
      ...
      app.Map("/api", api => {
         ...
         api.UseMvc();
       });
 }

现在,每当我使用上述地址呼叫控制器时,应用程序都会重新启动404。

我哪里错了?

1 个答案:

答案 0 :(得分:5)

当你做app.Map时。你实际在做的是在你的HTTP管道中添加一个中间件,它说:当一个HTTP请求进入时匹配路径/api这就是我想要发生的事情。

您接着说:我希望MVC在请求满足/api路由时运行。由于配置是嵌套的,因此控制器的新路径将变为:http://localhost:1234/api/api/values

希望这有帮助!