Jehoel.Unity.AspNetWebForms
2.0.0-beta7
dotnet add package Jehoel.Unity.AspNetWebForms --version 2.0.0-beta7
NuGet\Install-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
Unity.WebForms
(Currently listed on NuGet.org as Jehoel.Unity.AspNetWebForms
)
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 Page
, 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 (
Jehoel.Unity.AspNetWebForms
) (done)
Current Version
- 1.4 (right before .NET 4.7.2 support)
- 2.0 (this repo and project)
NuGet Gallery
Version 1.4 (.NET 4.5, no support for WebObjectActivator)
http://nuget.org/packages/Unity.WebForms
Version 2.0 (.NET 4.7.2, with support for WebObjectActivator)
http://nuget.org/packages/Jehoel.Unity.AspNetWebForms
Installation
Install-Package Jehoel.Unity.AspNetWebForms
Quick Start
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:
Unity.WebForms
:- 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
Jehoel.Unity.AspNetWebForms
:- 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)
Copyright
- Copyright 2013 - 2015 S. Kyle Korndoerfer
- Copyright 2019 Dai Rees
License
Unity.WebForms is under the MIT license - http://www.opensource.org/licenses/mit-license
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net472 is compatible. net48 was computed. net481 was computed. |
-
.NETFramework 4.7.2
- Microsoft.Web.Infrastructure (>= 1.0.0)
- Unity (>= 5.11.1)
- WebActivatorEx (>= 2.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
2.0.0-beta7 | 608 | 7/26/2019 | |
2.0.0-beta4 | 484 | 7/26/2019 | |
2.0.0-beta10 | 497 | 7/27/2019 |
Targets .NET 4.7.2 and Unity 5.11.1.