路由如何知道文件的位置?

时间:2013-11-05 12:00:04

标签: asp.net-mvc asp.net-mvc-4

我的VS项目包含以下文件夹和文件:

~\Controllers
  \AccountController.cs
  \HomeController.cs
...
~\Data
  \AccountController.cs

...
~\App_Start
  \RouteConfig.cs
  \WebApiConfig.cs

WebApiConfig.cs包含:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
     }
}

~\Data\AcccountController.cs包含:

namespace myApp.Data
{
    public class AccountController : ApiController
    {
        [HttpGet]
        public string GetUser(int id)
        {
            //...
        }
    ...
    }
}

当我对/api/Account/GetUser进行http呼叫时,呼叫将路由到上面显示的GetUser方法。所有上述或任何配置文件中的内容都告诉服务器从此特定文件中执行操作?如果~/Controllers/AccountController.cs还包含同名方法,该怎么办?

1 个答案:

答案 0 :(得分:0)

它被称为约定优于配置。