不同的RoutePrefixes,相同的控制器名称主持人,在我的启动课程中,我有以下内容。HttpConfiguration配置=newHttpConfiguration();配置.MapHttpAttributeRoutes();app.UseWebApi(配置);我测试了两个控制器[RoutePrefix("api/test")]}}[RoutePrefix("sync/test")]publicclassTestController:ApiController{[Route("")]publicIHttpActionResultGet(){returnOk("sync");这两个控制器有两个不同的命名空间,Api和Sync。当我尝试使用http://localhost/api/test和http://localhost/api/sync访问两个控制器时,我得到404。但是,如果我将其中一个控制器重命名为TestApiController,两者都可以工作。如果可以做我想做的事,有人知道吗?不幸的是,WebAPI按类名查找控制器,忽略命名空间。这是一个已知问题,并非基于属性的路由所独有。到目前为止最简单的解决方法是避免该问题并使用唯一的控制器名称。但是,如果您不介意发挥一点想象力,这里有一个解决方案:https://blogs.msdn.microsoft.com/webdev/2013/03/07/asp-net-web-api-using-namespaces-to-version-web-apis/以上是C#学习教程:不同的RoutePrefix,相同的controller名称分享所有内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多采纳多多关注——本文来自网络合集,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
