Утверждение имеет значение null при вызове из класса, реализующего IHttpModule, но не null при обращении из контроллера - PullRequest
0 голосов
/ 20 мая 2018

У меня есть приложение 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, потому что я хочу установить текущую культуру в одном месте, а затем использовать ее во всех контроллерах.

...