Install-Package Jehoel.Unity.AspNetWebForms -Version 2.0.0-beta7
dotnet add package Jehoel.Unity.AspNetWebForms --version 2.0.0-beta7
<PackageReference Include="Jehoel.Unity.AspNetWebForms" Version="2.0.0-beta7" />
paket add Jehoel.Unity.AspNetWebForms --version 2.0.0-beta7
#r "nuget: Jehoel.Unity.AspNetWebForms, 2.0.0-beta7"
// Install Jehoel.Unity.AspNetWebForms as a Cake Addin #addin nuget:?package=Jehoel.Unity.AspNetWebForms&version=2.0.0-beta7&prerelease // Install Jehoel.Unity.AspNetWebForms as a Cake Tool #tool nuget:?package=Jehoel.Unity.AspNetWebForms&version=2.0.0-beta7&prerelease
(Currently listed on NuGet.org as
Unity.WebForms is a collection of various ideas on Dependency Injection utilizing the Unity container in ASP.NET WebForm applications, formalized into a single NuGet package for easy integration into an existing application.
This package was inspired by similar packages from DevTrends, specifically:
The only difference is that this packages is a DLL integration with minimal source code added. The only source file added is to allow the configuration of the Unity container with your types.
This particular package (
Jehoel.Unity.AspNetWebForms) and repo (at https://github.com/Jehoel/Unity.WebForms) is a git fork of S. Kyle Korndoerfer's original project at https://bitbucket.org/KyleK/unity.webforms with a main objective of supporting ASP.NET WebForms 4.7.2's new
WebObjectActivator which means that
UserControl and other types can use true constructor dependency injection.
This repo's objectives are:
- Update to .NET Framework 4.7.2 (done)
- Update existing dependencies, including Unity 5 (done)
- Add in support for WebObjectActivator, as per Microsoft's example at https://github.com/aspnet/AspNetWebFormsDependencyInjection (done)
- Update the sample project (done)
- Publish to NuGet (
- 1.4 (right before .NET 4.7.2 support)
- 2.0 (this repo and project)
Version 1.4 (.NET 4.5, no support for WebObjectActivator)
Version 2.0 (.NET 4.7.2, with support for WebObjectActivator)
Once installed, the Unity.WebForms package will have added the necessary dependencies and references to your project along with a (potentially) new folder named
App_Start. Inside this folder, there will be a new class file named
UnityWebFormsStart.cs. The registration of any dependencies you have should be done in the
RegisterDependencies( IUnityContainer container ) method.
Detailed information about how this project works can be found in the wiki
References / Links
Here are some of the sources used for building out this package:
- Dependency Injection in ASP.NET WebForms - Mikael Lundin
- Unity: How to registerType with a PARAMETER constructor
- Unity.MVC3 - The linked articles on the bottom helped a lot with infrastructure
- Announcing the .NET Framework 4.7.2 - This article announced support for constructor-based DI.
- Use Dependency Injection In WebForms Application
- AspNetWebFormsDependencyInjection on Github
- Sample example of using AspNetWebFormsDependencyInjection - (Repository snapshot)
Unity.WebForms is under the MIT license - http://www.opensource.org/licenses/mit-license
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
Targets .NET 4.7.2 and Unity 5.11.1.