0
我試圖從this繼承基本控制器的Route
屬性。雖然它看起來能夠正常工作,但是它破壞了以前的工作行爲。繼承路由屬性混淆了Web API中已有的操作
下面是我的基地和兒童控制器的一個最小的例子。
[RoutePrefix("api/{controller}")]
public class MyController<TEntity, TDto>: ApiController{
[HttpGet]
public IEnumerable<TDto> All(){
...
}
[HttpGet, Route("lookup")]
public virtual IEnumerable<TDto> LookupData(){
...
}
}
[RoutePrefix("api/entity")]
public class EntityController : MyController<Entity, DTO>
{
}
實施路線後屬性繼承,該api/entity/lookup
動作的作品,但在api/entity
(用於All
),ActionSelector
回報2個動作,既All
和LookupData
,情況因此引起的錯誤。
我不確定它爲什麼選擇具有Route
屬性的動作,即使在常規路線的情況下也是如此。我應該做什麼不同?或者是否有任何強大的方法來編寫ActionSelector
這個問題?