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