我在Application_Start中的global.asax.cs中调用了以下注册。
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
我是否需要将我的/ api特定控制器放在一个区域中,或者只要我从ApiController继承它就会“工作”? 通过工作我的意思是我的控制器将响应路径路径api / {controller} / ...
答案 0 :(得分:-1)
阅读here以获得更好的线索。
将路由添加到Web窗体应用程序
在Web窗体应用程序中,您可以使用RouteCollection类的MapPageRoute(String,String,String)方法创建路径。 MapPageRoute方法创建一个Route对象并将其添加到RouteCollection对象。您可以在传递给MapPageRoute方法的参数中指定Route对象的属性。
通常,您在从Global.asax文件中的Application_Start事件的处理程序调用的方法中添加路由。此方法可确保应用程序启动时路由可用。它还使您可以在对应用程序进行单元测试时直接调用该方法。如果要在对应用程序进行单元测试时直接调用方法,则注册路由的方法必须是静态的(在Visual Basic中为Shared),并且必须具有RouteCollection参数。
以下示例显示了Global.asax文件中的代码,该文件添加了一个Route对象,该对象定义了两个名为action和categoryName的URL参数。具有指定模式的URL将定向到名为Categories.aspx的物理页。
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("",
"Category/{action}/{categoryName}",
"~/categoriespage.aspx");
}