ASP.NET Web Forms applications
ASP.NET Web Forms is not as extensible as MVC or WCF, and it is not possible to tweak its UI engine to support activation of pages without a default constructor. This limitation of Web Forms applications prevents making use of the Constructor Injection pattern. However, it is still possible to use other DI patterns such as an initializer method.
In order to set up Ninject for a Web Forms application, we need to add a reference to the Ninject.Web
extension. This extension requires to have referenced Ninject.Web.Common
and Ninject
as well. If we use NuGet package manager, these libraries will be referenced automatically as soon as we make a reference to Ninject.Web
. It will also create two classes in the App_Start
directory of the application. The NinjectWebCommon
class, which we have already discussed, and NinjectWeb
. These classes are required by the Ninject.Web
extension to work properly. We can add our service registrations to the RegisterServices
method...