dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.44k stars 10.01k forks source link

Deprecate IActionContextAccessor #28162

Open davidfowl opened 3 years ago

davidfowl commented 3 years ago

Now that we have endpoint routing there's no need to expose anything other then IHttpContextAccessor. It's possible to get the endpoint from the HttpContext to access things like the action descriptor and other associated metadata

ghost commented 3 years ago

Thanks for contacting us. We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. We will evaluate the request when we are planning the work for the next milestone. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

davidfowl commented 3 years ago

There's lots of usage on nuget:

Package Total cumulative downloads
Microsoft.AspNetCore.Mvc.Versioning 5,624,022
Microsoft.AspNetCore.OData 1,285,325
Abp.AspNetCore 696,350
Microsoft.ApplicationInsights.AspNetCore 583,944
Volo.Abp.AspNetCore.Mvc 129,977
MyTested.AspNetCore.Mvc.Abstractions 116,458
JsonApiDotNetCore 114,204
MyTested.AspNetCore.Mvc.Controllers 108,030
cloudscribe.Web.Pagination 95,498
cloudscribe.Web.Navigation 63,689
cloudscribe.Core.Web 56,776
LigerShark.WebOptimizer.Core 55,236
cloudscribe.SimpleContent.Web 51,010
SmartBreadcrumbs 46,549
cloudscribe.Web.Common 44,674
NetFusion.Rest.Server 42,127
Boxed.AspNetCore 34,315
Microsoft.AspNetCore.App.Ref 34,258
Kendo.Mvc 33,360
PagedList.Core.Mvc 30,363
RiskFirst.Hateoas 28,684
AspNetCore.IServiceCollection.AddIUrlHelper 28,470
cloudscribe.Web.SiteMap.FromNavigation 23,077
NetCoreStack.Mvc 23,040
Grace.AspNetCore.MVC 18,087
BioEngine.Core.Site 14,676
cloudscribe.SimpleContent.Syndication 13,602
Tiger.Hal 12,243
Pomelo.AspNetCore.Common 11,342
Pomelo.AspNetCore.Localization 10,757
Threax.AspNetCore.Halcyon.Ext 10,733
OrchardCore.Mvc.Core 8,828
NetCoreKit.Infrastructure.AspNetCore.Miniservice 8,779
AspNetCore.Hateoas 8,578
Olive.Mvc 7,570
Smidge 6,979
OrchardCore.DisplayManagement.Liquid 6,233
NetCoreKit.Infrastructure.AspNetCore.All 5,834
corest 5,770
BSolutions.Brecons.Core 5,638
RouteJs.AspNet 5,597
QuickFrame.Mvc 5,437
NooBIT.AspNetCore.Mvc.SimpleInjector 5,430
Olive.Web 5,235
Ding.Webs 4,967
DNTCommon.Web.Core 4,895
ShreyasJejurkar commented 3 years ago

Should we add Obsolete attribute on it and redirect people to use IHttpContextAccessor instead?

And also I found some internal usages of it. Check this => https://source.dot.net/#Microsoft.AspNetCore.Mvc.Core/Infrastructure/IActionContextAccessor.cs,1b93f600c630a85a,references

Should we replace them as well? Or keep them as it is and just decorate interface with Obsolete.

ghost commented 3 years ago

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.