我正在编写一段 Owin 中间件,需要使用一些遗留代码,该代码使用 HttpRequestBase 作为方法参数。由于遗留代码没有遵循 SOLID 原则,所以不可能将其扩展以使用 OwinRequest 替换 HttpRequestBase。
是否有一种扩展(或方法)可将 OwinRequest 转换为 HttpRequestBase?
我正在编写一段 Owin 中间件,需要使用一些遗留代码,该代码使用 HttpRequestBase 作为方法参数。由于遗留代码没有遵循 SOLID 原则,所以不可能将其扩展以使用 OwinRequest 替换 HttpRequestBase。
是否有一种扩展(或方法)可将 OwinRequest 转换为 HttpRequestBase?
如果您可以访问请求的IOwinContext
,则可以使用这个小技巧来获取HttpContextBase
:
HttpContextBase httpContext = context.Get<HttpContextBase>(typeof(HttpContextBase).FullName);
然后,你只需要:
HttpRequestBase httpRequest = httpContext.Request;