Asp.net web api 如何在OWIN启动时访问HttpContext.Current.Application

Asp.net web api 如何在OWIN启动时访问HttpContext.Current.Application,asp.net-web-api,owin,httpcontext,Asp.net Web Api,Owin,Httpcontext,我需要在OWIN启动时填写HttpContext.Current.Application[“Translations”],但是HttpContext.Current在那里是null 我应该在Global.asax.cs中使用Application\u Start() 我有哪些备选方案?HttpContext在启动时不可用,因为没有请求它就无法存在。Startup类只为应用程序运行一次,而不是为每个请求运行一次 尝试在Global.asax.cs中的BeginRequest处理程序中访问它 pro

我需要在OWIN启动时填写
HttpContext.Current.Application[“Translations”]
,但是
HttpContext.Current
在那里是
null

我应该在
Global.asax.cs
中使用
Application\u Start()


我有哪些备选方案?

HttpContext
在启动时不可用,因为没有请求它就无法存在。Startup类只为应用程序运行一次,而不是为每个请求运行一次

尝试在
Global.asax.cs
中的
BeginRequest
处理程序中访问它

protected void Application_BeginRequest(object sender, EventArgs e) {

    base.Application["Translations"] = "My value here";

}

HttpContext在启动时不可用,因为没有请求它就无法存在
Begin\u Request
使用OWIN时可以使用
Global.asax.cs
吗?我用过的指南说要删除它。如果它不是自托管的,应该没有问题。如果您使用的是Global.asax,则假定它是IIS中的主机。这两者可以共存谢谢,我会按照你当时的建议去尝试。对于Owin来说,一个更好的方法是编写中间件来处理这个问题。@RonDeFreitas,听起来很有趣。我没有想到这一点。一个人如何通过中间件来做呢。