使用IApplicationBuilder.Map使用UseMvc生成嵌套路径

本文关键字:使用 嵌套 路径 UseMvc IApplicationBuilder Map | 更新日期: 2023-09-27 18:00:24

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

我的网络应用程序的配置:微软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。

我哪里错了?

使用IApplicationBuilder.Map使用UseMvc生成嵌套路径

在执行app.Map时。实际上,您正在做的是向HTTP管道添加一个中间件,它说:当一个与路径/api匹配的HTTP请求传入时,这就是我希望发生的事情。

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

希望这能有所帮助!