45 messaggi dal 11 settembre 2006
Salve,

ho notato questo strano comportamento in questa situazione:

ho un http handler MyHndler associato all'indirizzo MyHandler.aspx che invia semplicemente la stringa "ciao" come response

se chiamo direttamente l'handler http://localhost/ProvaHandler/MyHandler.aspx

funziona correttamente e visualizzo la stringa "ciao".
Ho poi creto una normale pagina Default.aspx il cui metodo Page_Load non fa altro che trasferire il controllo al mio handler:

protected void Page_Load(object sender, EventArgs e){
  Server.Transfer("MyHandler.aspx", false);
}


Purtroppo il transfer causa un'eccezione:

An unhandled exception occurred during the execution of the current web request

facendo un po' di riderca ha visto che anche qualcuno ha avuto lo stesso problema e sembra che Transfer funzioni solo se l'Handler a cui si strasferisce il controllo è un Page handler e non funziona con handler generici. Qualcuno ne sa un po' di più? E' un bug? La documentazione non dice nulla a riguardo, anzi nella classe HttpUtility è pure presente il metodo Transfer(IHttpHanlder) che prende un handler generico...

Faccio notare che il secondo argomento passato a Transfer (preserveForm) è false e quindi l'eccezione non è dovuto a quello (sulla documentazione dice che è lanciata un'eccezione se si passa true ed enableViewStateMac della pagina è true). Ma io passo false appunto.

Grazie e ciao.
Modificato da anx721 il 19 ottobre 2006 15.25 -
Modificato da anx721 il 19 ottobre 2006 15.26 -
Modificato da anx721 il 19 ottobre 2006 15.33 -
45 messaggi dal 11 settembre 2006
Questa è l'eccezione riportata:

[HttpException (0x80004005): Error executing child request for MyHandler.aspx.]
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +1795
   System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm) +755
   System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm) +53
   _Default.Page_Load(Object sender, EventArgs e) 
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +45
   System.Web.UI.Control.OnLoad(EventArgs e) +80
   System.Web.UI.Control.LoadRecursive() +49
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3743

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.