Утверждение имеет значение null при вызове из класса, реализующего IHttpModule, но не null при обращении из контроллера

У меня есть приложение API, в котором у меня есть этот код:

public class MyModule : IHttpModule
{
    public void Dispose() { }

    public void Init(HttpApplication context)
    {
        context.BeginRequest += new EventHandler(context_BeginRequest);
    }

    void context_BeginRequest(object sender, EventArgs e)
    {
        var myClaim = (string)new ClaimProvider().GetClaim(Thread.CurrentPrincipal, CustomClaimTypes.Culture);            
    }
}

И тогда в контроллере:

public MyViewModel Get(int id)
{
    return GetById(id, new ClaimProvider().GetClaim(Thread.CurrentPrincipal, CustomClaimTypes.Culture));
}

Как видите, в обоих местах я вызываю метод GetClaim() с такими же параметрами. В контроллере это дает мне результат. в context_BeginRequest событие, оно возвращает null, Почему это происходит? Мне нужно, чтобы не было null в context_BeginRequestпотому что я хочу установить текущую культуру в одном месте, а затем использовать ее во всех контроллерах.

0 ответов

Другие вопросы по тегам