thinking in geek tagline’s are so web2.0

google
yahoo
bing

Posted
17 July 2007 @ 5pm

Tagged
.net, asp.net

Server.Transfer does not run ASP.NET pipeline

Things I’ve learnt today: One.

What I’ve learnt: If you use the convenient (if old school) Server.Transfer method to render a different page to a client then you need to be aware that ASP.NET pipeline events1 will not run. You know – BeginRequest, AuthenticateRequest – unimportant things like that.

Basically – nothing that happens in Global.asax, HttpModules etc… will happen for this page.

This caused a rather embarrassing scenario for me.

If you requested a page which did not exist – then I Server.Transfer’ed you to a 404.aspx page.

At the time this seemed like good SOC – I can have a whole page which takes care of setting the correct HTTP status code, taking care of common misses etc. without issuing a redirect – which would mean you lost the url in your browser. (Something that asp.net does way to much for my tastes – but thats a whole ‘nother post).

Problem is that – the HttpModule I have which hooks up the correct “skin” for that customer based on the host header didn’t run – which meant that the user got the “default” skin – in this case another customers. :( Anyway – it’s all fixed now – but I’ve had to duplicate the code to hook up the correct skin in two places. Which is not so hot.

ASP.NET is so cool. I want to have it’s children. NOT. Seriously – who wrote this – what were they thinking?

Oh – we have a special case – well – we’ll re-implement some aspects of the whole fricking pipeline again to take care of this!

ARRRGGG!!!!

  1. http://msdn2.microsoft.com/en-us/library/ms178473.aspx []

No Comments Yet


There are no comments yet. You could be the first!

Leave a Comment