我有一个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
.为什么会这样?我不想这样
无效的
在里面
上下文_BeginRequest
,因为我想在一个地方设置当前区域性,然后在所有控制器中使用它。