castleproject / Windsor

Castle Windsor is a best of breed, mature Inversion of Control container available for .NET
http://www.castleproject.org
Apache License 2.0
1.51k stars 455 forks source link

Deprecate Facilities: ASP.NET MVC, ASP.NET Web API, ASP.NET Core, System Web and WCF Integration #583

Open generik0 opened 3 years ago

generik0 commented 3 years ago

Should thge Asp.Net.x and and AspNetCore Facilites become obsolete now that the Castle.Windsor.Extensions.DependencyInjection is created supporting aspnectcore and generic host 2.2?

Or is it important that Asp.Net and AspNetCore 2 uses can get bug fixes and improvements?

jonorossi commented 3 years ago

You'll need to be more specific about what you want to deprecate/remove, here is the list:

(https://github.com/castleproject/Windsor/blob/master/docs/facilities.md#other-facilities)

generik0 commented 3 years ago

This is a question more than a "want". However, these facilities could be candidates (thanks for the link)

From what I can work out, maintenance is also stopped on the packages they support, so why should we continue to maintain and build actively? People will still be able to use a newer version of Castle.Core and Castle.Windsor with the deprecated packages, and can fork to make changes.

jonorossi commented 3 years ago

In the past I've moved deprecated facilities into a Git repo in our castleproject-deprecated GitHub org:

https://github.com/castleproject-deprecated/Castle.Windsor.Facilities

This way it is pretty easy for people to find the most recent code of these facilities and I'll usually still accept/merge minor pull requests (usually to get things building using new tooling) from people, but no packages will be published, people can fork and do that if desired. Can do the same for these ones.

jonorossi commented 3 years ago

ALL USERS: I need feedback on these facilities, if you use them you'll need to provide some feedback so we know people still want them, otherwise if there are no vocal users we'll move them out of the source tree and stop building them.

jberezanski commented 3 years ago

In my company, we are rather extensively using the WCF Integration Facility in our main product (both on service side and on client side). The product is based on .NET Framework 4.x and will eventually be replaced with a .NET Core-based successor (using completely different communication technologies), but not for at least a couple of years. The current feature set of the facility is sufficient for us. It would be great if the WCF facility was still built and tested together with new Windsor releases, so that we would be able to upgrade Windsor without fear of breakage.

jeme commented 1 year ago

@jonorossi I imagine that having all these different facilities in this repository can be a burden when trying to get to the next release, e.g. 6.0 as discussed in another issue.

Could it be an idea to move all facilities out from here to their own repositories and have repos specific to specific areas, e.g. .NET Framwork targeted facilities such as MVC and WebApi and perhaps WCF (WCF could also be on it's own seeing as Microsoft is abandoning that technology)?

That way the "Core Windsor" parts (Not to confuse with Castle.Core >.<) could release at its own pace independent of the Facilities.

jonorossi commented 1 year ago

Could it be an idea to move all facilities out from here to their own repositories and have repos specific to specific areas

This idea has been suggested plenty of times in the past with good intentions, however my view is that we've barely got anyone maintaining them in this repository that if they get moved out they'll definitely not be maintained at all. I have no problem with deprecating a facility completely and removing the source code, we've done that with a bunch that are listed as deprecated in the docs and moved the source code here. I don't think this project should pretend they are supported if they don't even build anymore.

My suggestion: discuss specific facilities and weigh up the pros/cons of deprecating and removing a facility. Supporting people still using older possibly dead technologies is good, but at the end of the day you can't support dead technologies forever in new versions of Windsor.