gpt4 book ai didi

asp.net-mvc-routing - 无法解析到 MVC Controller 的属性路由

转载 作者:行者123 更新时间:2023-12-02 05:19:27 25 4
gpt4 key购买 nike

我正在使用基于 OWIN 的命令行自托管应用程序,新的属性路由非常适合我的 Web API Controller 。但是,它们似乎不适用于我的常规 MVC Controller 。

我已经尝试使用启动方法中的路由模板以旧方式映射路由,并且我还尝试使用属性路由来执行此操作。不管怎样,当我尝试访问这些路由时,我会收到 404。

在我的开始代码中,我调用了 Owin.WebApiAppBuilderExtensions 类中定义的 IAppBuilder.UseWebApi(...) 扩展方法,但我没有看到 MVC 的等效方法,例如 UseMvc(...)。他们可以共存吗?我是否遗漏了一些明显的东西?

这是我的起始代码:

var config = new HttpConfiguration();
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(Startup.OAuthOptions.AuthenticationType));
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
config.MapHttpAttributeRoutes();

app.UseCookieAuthentication(CookieOptions);
app.UseExternalSignInCookie(CookieAuthenticationDefaults.ExternalAuthenticationType);
app.UseOAuthBearerTokens(OAuthOptions, ExternalOAuthAuthenticationType);
app.UseFacebookAuthentication(appId: "12345", appSecret: "abcdef");
app.UseWebApi(config);

这是我的普通旧 MVC 类:

[RoutePrefix("Home")]
public class HomeController : Controller
{
[HttpGet("Index")]
public ActionResult Index()
{
return Content("Hello world!", "text/plain");
}
}

当我在应用程序上点击 /Home/Index 时,我收到 404。

最佳答案

目前 ASP.NET MVC 无法在 OWIN 上运行。 Web API 是最近构建的,考虑到了这种类型的灵 active ,因此它已与 System.Web,特别是 HttpContext 解耦,这允许它在 OWIN 上运行。 p>

在 OWIN 上运行的一些替代方案是 FubuMVC , NancySimple.Web

David Fowler已经在这方面做了一些工作,并且有一个在 OWIN 上运行的 MVC 的工作原型(prototype),但代码尚未公开,也没有任何关于是否会很快公开的消息。

关于asp.net-mvc-routing - 无法解析到 MVC Controller 的属性路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19108024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com