gpt4 book ai didi

asp.net - 您可以将 Web Api 2 的基于属性的路由与 WebForms 一起使用吗?

转载 作者:行者123 更新时间:2023-12-04 17:49:22 24 4
gpt4 key购买 nike

正如标题所述,我想知道您是否可以将 WebAPI 2 的基于属性的路由与 WebForms 结合使用。我觉得这显然可以完成,因为您可以在 WebForms 应用程序中很好地使用 WebAPI2……我只是不知道如何启用基于属性的路由。

基于此 article ,我了解您通常在设置基于约定的路由之前通过调用 MapHttpAttributeRoutes() 启用它。但我猜这是 MVC 方式 - 我需要知道 WebForms 的等价物。

我目前使用 MapHttpRoute() 来设置我的基于约定的路由,我想在 WebAPI2 中尝试基于属性的路由。我已经用 WebAPI2 更新了我的项目 - 我只需要知道如何启用基于属性的路由功能。

任何信息,将不胜感激。

最佳答案

在 WebForms 的情况下,您不需要做任何特殊的事情。 Web API 属性路由应该像在 MVC 中一样工作。

如果您使用的是 VS 2013,您可以通过使用“Web 窗体”模板创建一个项目,然后选择“Web API”复选框来轻松测试这一点,您应该会看到由此生成的所有以下代码。

WebApiConfig.cs

public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services

// Web API routes
config.MapHttpAttributeRoutes();

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

Global.asax
public class Global : HttpApplication
{
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
GlobalConfiguration.Configure(WebApiConfig.Register);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}

WebForm 的 RouteConfig
public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
}
}

关于asp.net - 您可以将 Web Api 2 的基于属性的路由与 WebForms 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21146168/

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