2

Hangfire AuthorizationFilter にカスタム サービスを注入し、サービスが常に null であるという問題に直面して何かをしたいと考えています。

Owin スタートアップ クラス:

 public class Startup
{

    public void Configuration(IAppBuilder app )
    {
        GlobalConfiguration.Configuration
            .UseSqlServerStorage("SomeContext")
            .UseNinjectActivator(new Bootstrapper().Kernel);

        app.UseHangfireDashboard("/hangfire", new DashboardOptions { AuthorizationFilters = new[] { new RestrictiveAuthorizationFilter() } });
        app.UseHangfireServer();
    }
}

カスタム フィルター:

public class RestrictiveAuthorizationFilter : IAuthorizationFilter
{

    [Inject]
    public IUserService _userService { get; set; }

    public bool Authorize(IDictionary<string, object> owinEnvironment)
    {

      //do something with _userService but it is always null

      return true;
    }
}

Ninject カーネル:

 private static void RegisterServices(IKernel kernel)
    {
        kernel.Bind(x => { x.From(typeof(BookService).Assembly).SelectAllClasses().EndingWith("Service").BindDefaultInterface(); });
        kernel.Bind<LibraryDBContext>().ToSelf().InRequestScope();
        kernel.Bind<IBackgroundJobClient>().To<BackgroundJobClient>();
    }      

エラーが表示されません。助けていただけますか?

4

1 に答える 1