有没有办法将OwinRequest转换为HttpRequestBase?

Mac*_*iek 9 c# owin

我正在编写一个Owin Middleware,我需要使用一些遗留代码,它使用HttpRequestBase作为方法参数.遗留代码不遵循SOLID所以不可能把它扩大到使用OwinRequest代替HttpRequestBase的

是否有将OwinRequest转换为HttpRequestBase的扩展(或方法)?

Mat*_*ero 16

如果您有权访问IOwinContext该请求,则可以使用此小黑客来获取HttpContextBase:

HttpContextBase httpContext = context.Get<HttpContextBase>(typeof(HttpContextBase).FullName);
Run Code Online (Sandbox Code Playgroud)

然后,你会:

HttpRequestBase httpRequest = httpContext.Request;
Run Code Online (Sandbox Code Playgroud)