Yes, I completely discounted backwards compatibility, sorry. On Sun, Jul 29, 2012 at 2:13 PM, Dominik Psenner <dpsen...@gmail.com> wrote:
> On 07/27/2012 10:42 PM, George Chung wrote: > > It currently defines this abstract method: > > > > protected abstract > > void Convert(TextWriter writer, LoggingEvent loggingEvent, HttpContext > httpContext) > > > > I would recommend changing it to: > > > > protected abstract void Convert(TextWriter writer, LoggingEvent > loggingEvent, HttpContext*Base* httpContext) > > > > Effectively, HttpContext.Current is not very useful anymore in more > > recent versions of ASP.NET <http://ASP.NET>. As they are promoting an > > asynchronous programming model where operations complete on completion > > threads. And they also encourage the use of the ParallelTaskLibrary for > > queuing work items. The bulk of your operations are going to execute on > > these threads, and on these threads, HttpContext.Current is null. > > > > HttpContextBase is what's being used now and it's easy to convert > > HttpContext.Current to an HttpContextBase like this: > > > > new HttpContextWrapper(HttpContext.Current) > > > > Here's some more info on the matter. > > > > > http://www.splinter.com.au/httpcontext-vs-httpcontextbase-vs-httpcontext/ > > I did not change the signature and test the impact on compatibility to > previous versions of log4net, but I would assume that since HttpContext > is not an implementation of HttpContextBase it will not work out of the > box, would it? > > And on top of that, HttpContextBase exists only for .NET 3.5/4.0, which > breaks log4net for .NET 1.0/2.0/3.0 unless we juggle around with build > conditionals. > > Maybe a "reimplemtation" of the AspNetPatternLayoutConverter would suit > the new usecase better? > -- > Dominik Psenner > ## OpenPGP Key Signature ################################# > # Key ID: B469318C # > # Fingerprint: 558641995F7EC2D251354C3A49C7E3D1B469318C # > ########################################################## > >