.net 某些服务器变量无法从文本访问

.net 某些服务器变量无法从文本访问,.net,iis,owin,katana,server-variables,.net,Iis,Owin,Katana,Server Variables,理论上,OwinContext环境应该可以访问请求/响应信息以及服务器变量,尽管出于某些原因,从OwinContext中我无法访问从request.ServerVariables集合中可用的一些自定义服务器变量 造成这种差异的原因是什么?我应该如何避免这种差异?我自己也遇到过这种情况。事实证明,您可以从IOwinContext.Environment访问HttpContextWrapper: var httpContextWrapper = owinContext.Environment["Sy

理论上,OwinContext环境应该可以访问请求/响应信息以及服务器变量,尽管出于某些原因,从OwinContext中我无法访问从
request.ServerVariables
集合中可用的一些自定义服务器变量


造成这种差异的原因是什么?我应该如何避免这种差异?

我自己也遇到过这种情况。事实证明,您可以从
IOwinContext.Environment
访问
HttpContextWrapper

var httpContextWrapper = owinContext.Environment["System.Web.HttpContextBase"] as HttpContextWrapper;
然后您可以访问
请求
属性:

httpContextWrapper.Request.ServerVariables

我不确定哪一个确实更好,但HttpContext.Current.Request在该上下文中也工作得很好。