Asp.net mvc 升级到mvc4 rc后,在控制器上发现多个操作

Asp.net mvc 升级到mvc4 rc后,在控制器上发现多个操作,asp.net-mvc,asp.net-web-api,Asp.net Mvc,Asp.net Web Api,我们一直在使用mvc webapi测试版,并试图升级到rc 我们有以下路由(唯一的约束是验证{id}是否为整数): 以及以下控制器操作 public IList<PaymentMethodViewModel> GetList() {} public HttpResponseMessage Get(Guid id) {} [ActionName("Details")] public IList<RecurrenceModel> GetDetails(Guid id) {

我们一直在使用mvc webapi测试版,并试图升级到rc

我们有以下路由(唯一的约束是验证{id}是否为整数):

以及以下控制器操作

public IList<PaymentMethodViewModel> GetList()
{}

public HttpResponseMessage Get(Guid id)
{}

[ActionName("Details")]
public IList<RecurrenceModel> GetDetails(Guid id)
{}
public IList GetList()
{}
公共HttpResponseMessage获取(Guid id)
{}
[行动名称(“详情”)]
公共IList GetDetails(Guid id)
{}

api/mycontroller、api/mycontroller/1、api/mycontroller/1/详细信息在测试版中都正确返回。但是,升级到MVC4 RC api/mycontroller/1后,api/mycontroller/1/details return“发现了多个与请求匹配的操作:”

是的,我遇到了类似的问题,未能找到适当的原因。这显然是由于路由实现的变化,但它的代码相当繁重,我还没有时间来讨论它

考虑到它将继续以这种速度发展,最好只对默认的
{controller}/{id}
类型的路由和其他任何类型的路由依赖内置路由机制

public IList<PaymentMethodViewModel> GetList()
{}

public HttpResponseMessage Get(Guid id)
{}

[ActionName("Details")]
public IList<RecurrenceModel> GetDetails(Guid id)
{}