ASP.NET Webform, как использовать Ninject.Web.Common.WebHost Prop Injection - PullRequest
0 голосов
/ 15 октября 2018

Я связал все свои сервисы в App_Start Ninject.Web.Common и попробовал в своих aspx страницах ввести свойство [Inject].

Как я могу использовать внедрение свойства?Мое исключение в проекте веб-формы. Все введенные реквизиты обнуляются.

Исключение Stacktrace:

System.NullReferenceException не было обработано кодом пользователя HResult = -2147467261 Сообщение = Nesne başvurusu birnesnenin örneğine ayarlanmadı.Source = VDershane.Base StackTrace: konum: VDershane.Base.WebForms.DRecoveryPageLite.LoadLang () c: \ Users \ Аликан Каблан \ Documents \ Yeni klasör \ WebForms \ DRecoveryPageLite.cs içinde: satır 158 kon.DRecoveryPageLite.OnLoad (EventArgs e) c: \ Users \ Аликан Каблан \ Documents \ Yeni klasör \ WebForms \ DRecoveryPageLite.cs içinde: satır 191 konum: System.Web.UI.Control.LoadRecursive () konum: System.W.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) InnerException:

Мой проект веб-формы ref :

Framework 4.5

Ninject 3.3.3

Ninject.Web.Common 3.3.1

Ninject.Web.Common.WebHost 3.3.1


В моих Mvc проектах (Я так работаю):

 private static void RegisterServices(IKernel kernel)
    {
        DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
    }



public class NinjectDependencyResolver : IDependencyResolver
{
    private readonly IKernel _kernel;

    public NinjectDependencyResolver()
    {
    }

    public NinjectDependencyResolver(IKernel kernel)
    {
        _kernel = kernel;
        AddBinding();
    }

    private void AddBinding()
    {
        _kernel.Bind<IBlogServices>().To<BlogServices>();
        _kernel.Bind<ILanguageServices>().To<LanguageServices>();
        _kernel.Bind<IFrUserServices>().To<FrUserServices>();
        _kernel.Bind<IBlogRepository>().To<BlogRepository>();
        _kernel.Bind<ILanguageRepository>().To<LanguageRepository>();
        _kernel.Bind<IFrUserRepository>().To<FrUserRepository>();
    }

    public object GetService(Type serviceType)
    {
        return _kernel.TryGet(serviceType);
    }

    public IEnumerable<object> GetServices(Type serviceType)
    {
        return _kernel.GetAll(serviceType);
    }
}
...