C# sdamann.WebApi.Versioning:asp.net版本控制
我的控制器是参与者控制器 若我添加两个路由,则会从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 请求,取消令牌取消令牌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
我发现了问题所在。我错过了在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 }
);