无法将 System.Web.Http.WebHost.Routing.HostedHttpRoute 转换为 System.Web.Http.Routing.IHttpRoute
Cannot cast System.Web.Http.WebHost.Routing.HostedHttpRoute to System.Web.Http.Routing.IHttpRoute
为 Web API 解决方案将 ASP.NET Web API 更新到 2.2(从 nuget 包版本 4.0 到 5.2)后,我无法再转换类型为 [= 的对象12=] 到 System.Web.Http.Routing.IHttpRoute
。
根据 HostedHttpRoute
的 source,它实现了 IHttpRoute
,因此转换应该有效。但是,这个来源对于 5.2 来说一定已经过时了...?
有谁知道 HostedHttpRoute
是否发生了任何会导致此问题的变化?如果是这样,请分享您掌握的有关此类更改的任何信息。
如果您想知道我为什么要尝试执行此转换 - 它是检索 Web API 应用程序和 return 一个 HttpRouteCollection
的所有路由的一部分。这涉及调用 RouteConfig.RegisterRoutes()
方法来检索 RouteCollection
对象。此 RouteCollection
对象中的每个项目都是一个 HttpWebRoute
对象,其中包含一个名为 HttpRoute
且类型为 HostedHttpRoute
的 属性。这些 HostedHttpRoute
中的每一个都将被转换为 IHttpRoute
,然后将其添加到 HttpRouteCollection
.
3问题在于,编写此转换代码的应用程序安装了 API v5.2.3,而 API Web 应用程序安装了 API v5.2.2,因此IHttpRoute 类型存在版本不匹配问题。出于某种原因,5.2.3 适用于 4.0,但不适用于 5.2.2。我将网络应用程序更新到 5.2.3,问题已解决。
为 Web API 解决方案将 ASP.NET Web API 更新到 2.2(从 nuget 包版本 4.0 到 5.2)后,我无法再转换类型为 [= 的对象12=] 到 System.Web.Http.Routing.IHttpRoute
。
根据 HostedHttpRoute
的 source,它实现了 IHttpRoute
,因此转换应该有效。但是,这个来源对于 5.2 来说一定已经过时了...?
有谁知道 HostedHttpRoute
是否发生了任何会导致此问题的变化?如果是这样,请分享您掌握的有关此类更改的任何信息。
如果您想知道我为什么要尝试执行此转换 - 它是检索 Web API 应用程序和 return 一个 HttpRouteCollection
的所有路由的一部分。这涉及调用 RouteConfig.RegisterRoutes()
方法来检索 RouteCollection
对象。此 RouteCollection
对象中的每个项目都是一个 HttpWebRoute
对象,其中包含一个名为 HttpRoute
且类型为 HostedHttpRoute
的 属性。这些 HostedHttpRoute
中的每一个都将被转换为 IHttpRoute
,然后将其添加到 HttpRouteCollection
.
3问题在于,编写此转换代码的应用程序安装了 API v5.2.3,而 API Web 应用程序安装了 API v5.2.2,因此IHttpRoute 类型存在版本不匹配问题。出于某种原因,5.2.3 适用于 4.0,但不适用于 5.2.2。我将网络应用程序更新到 5.2.3,问题已解决。