C# sdamann.WebApi.Versioning:asp.net版本控制

C# sdamann.WebApi.Versioning:asp.net版本控制,c#,asp.net-web-api,asp.net-web-api-routing,C#,Asp.net Web Api,Asp.net Web Api Routing,我的控制器是参与者控制器 若我添加两个路由,则会从SDamman dll对象null引用错误引发异常。我需要两条路由,只为Route2添加MessageHandler 有人能帮我吗 我在global.asax.cs文件中添加了以下行 因为我使用的是.Net framework版本4,所以我使用了包id=SDammann.WebApi.Versioning version=2.0.0.3 targetFramework=net40 例外情况详细信息 中发生“System.NullReference

我的控制器是参与者控制器

若我添加两个路由,则会从SDamman dll对象null引用错误引发异常。我需要两条路由,只为Route2添加MessageHandler

有人能帮我吗

我在global.asax.cs文件中添加了以下行

因为我使用的是.Net framework版本4,所以我使用了包id=SDammann.WebApi.Versioning version=2.0.0.3 targetFramework=net40

例外情况详细信息 中发生“System.NullReferenceException”类型的异常 SDammann.WebApi.Versioning.dll,但未在用户代码中处理

其他信息:对象引用未设置为 反对

在 SDammann.WebApi.Versioning.VersionedControllerSelector.GetControllerNameFromRequestHttpRequestMessage 在z:\Developing\Visual中请求 Studio\Projects\sdamann.WebApi.Versioning\src\sdamann.WebApi.Versioning\VersionedControllerSelector.cs:line 187在 SDammann.WebApi.Versioning.RouteVersionedControllerSelector.GetControllerIdentificationFromRequestHttpRequestMessage 在z:\Developing\Visual中请求 Studio\Projects\sdamann.WebApi.Versioning\src\sdamann.WebApi.Versioning\RouteVersionedControllerSelector.cs:line 34在 SDammann.WebApi.Versioning.VersionedControllerSelector.SelectControllerHttpRequestMessage 在z:\Developing\Visual中请求 Studio\Projects\sdamann.WebApi.Versioning\src\sdamann.WebApi.Versioning\VersionedControllerSelector.cs:line 112 at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncInternalHttpRequestMessage 请求,CancellationToken CancellationToken位于 System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncHttpRequestMessage 请求,取消令牌取消令牌


我发现了问题所在。我错过了在Route1中添加默认控制器的机会

工作代码:

GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerSelector),
                    new RouteVersionedControllerSelector(GlobalConfiguration.Configuration));
GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerSelector),
                    new RouteVersionedControllerSelector(GlobalConfiguration.Configuration));
config.Routes.MapHttpRoute(
    name: "Route1",
    routeTemplate: "api/v{version}/Participant/{action}/{id}",
    defaults: new { controller: "Participant", id = RouteParameter.Optional }
);