名为“DefaultRoute”的路径已在路径集合中。 路线名称必须是唯一的
当我将ASP.NET WebAPI
解决方案发布到远程IIS Server
,我收到错误消息:
消息:System.ArgumentException:名为“DefaultRoute”的路由已在路径集合中。 路线名称必须是唯一的。
我看到这个线程有同样的问题,但它没有任何效果。 我试过了:
- 删除所有项目中的所有bin / obj文件夹。
- 清洗/重建
- 在发布之前从远程服务器上删除文件
- 重命名项目
无论如何,我可以找出是否存在陈旧文件。 我确实重命名了一些文件,我听说这可能会导致问题?
不确定这是否重要,但我使用ASP.NET WebApi和RestSharp进行rest调用。
这就是我的Global.asax startup
拥有的:它是多余的吗?
AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); RouteConfig.RegisterRoutes(RouteTable.Routes);
我已经设定路线遇到了类似的问题。 对我来说,解决方案在这里: https : //stackoverflow.com/a/28503674/1496138 。 问题是我后来重命名为项目文件 – 以前名称的旧DLL文件仍然存在于/ bin目录中,并且自动启动配置也运行它们。
路由通常配置为三个位置之一。 global.asax文件,RouteConfig.cs文件(通常位于/ App_Start或{areaname} AreaRegistration.cs文件中,位于/ Areas / {areaname}中。在这些位置必须有重复的路由名称。它给你重复的名称,尝试在你的项目中搜索“DefaultRoute”,它可能会跳出来。更改其中一个的名称,它应该解决你的问题。
当我使用RouteAttribute
显式设置路由名称的代码时,我遇到了这个错误,当我尝试设置一个路由时,根据是否使用HTTP GET或HTTP POST调用它将采用不同的参数:
[HttpGet] [Route("MyApiMethod", Name = "MyApiMethod")] public MyApiMethod PropertyData(...) { ... } // ERROR: Causes "System.ArgumentException: A route named 'DefaultRoute' is already in the route collection. Route names must be unique." [HttpPost] [Route("MyApiMethod", Name = "MyApiMethod")] public MyApiMethod PropertyData(...) { ... }
这对我来说并不是很明显,但问题结果正是错误信息所说的:我有两条具有相同Name
值的路由。 只需将这些Name
值更改为唯一(无需更改路径本身或方法签名)即可解决问题:
[HttpGet] [Route("MyApiMethod", Name = "MyApiMethod-GET")] public MyApiMethod PropertyData(...) { ... } [HttpPost] [Route("MyApiMethod", Name = "MyApiMethod-POST")] public MyApiMethod PropertyData(...) { ... }
- 检查Global.asax
两次你被定义了。
AreaRegistration.RegisterAllAreas();
- 卸载项目和重新加载项目。
我有同样的问题。 如果您使用IIS 8.X,则应检查新function。
- 您的应用程序池启动模式应为“高级设置”中的“AlwaysRunning” 。
- 您的应用程序PreLoad Enabled应在高级设置中设置为“True” 。
希望这可以帮助。
只需清理洗脱和重建!
它解决了我的问题
清理解决方案/项目对我来说不起作用。 我最终导航到bin目录并删除目录中的所有文件,因为它是一个绝对的混乱,这解决了我的问题。
上述就是C#学习教程:名为“DefaultRoute”的路径已在路径集合中。 路线名称必须是唯一的分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1031680.html