Если предложите ваши 2 решения. Если вы используете ASP.NET MVC 3, вы, вероятно, могли бы использовать DepencyResolver
DepencyResolver.Current.GetService<IContext>();
Или вы также можете объявить статическое свойство в вашем MvcApplication (Global.asax), например
public static IKernel CurrentKernel {get;set;}
И в вашем загрузчике, где вы начинаете свое ядро
var kernel = new StandardKernel();
// Bindings here...
MvcApplication.CurrentKernel = kernel;
И если у вас возникли проблемы из-за того, что ваше ядро еще не загружено в BeginRequest, я предлагаю вам обработать следующее событие вместо BeginRequest
Application_PreRequestHandlerExecute
Надеюсь, это поможет.