Sono sicuro che questo thread è ormai morto, ma di recente mi sono trovato di fronte a un problema simile con ASP.NET e FileUpload e ho trovato un work-around basato su alcuni dei lavori here.
Ho creato un componente che scrive dinamicamente gli oggetti Flex sulla pagina in modo che possano essere utilizzati in UpdatePanel. Inviami un messaggio se vuoi che codificano. Per risolvere il problema sopra riportato nelle pagine in cui i cookie di autenticazione dovranno essere inviati da URLRequest, aggiungo i valori come flashVars.
Questo codice funziona solo nel mio oggetto, ma si ottiene l'idea
Dictionary<string, string> flashVars = new Dictionary<string, string>();
flashVars.Add("auth", Request.Cookies["LOOKINGGLASSFORMSAUTH"].Value);
flashVars.Add("sess", Request.Cookies["ASP.NET_SessionId"].Value);
myFlexObject.SetFlashVars(flashVars);
Poi nell'oggetto Flex, controllare i params
if (Application.application.parameters.sess != null)
sendVars.sess= Application.application.parameters.sess;
if (Application.application.parameters.auth != null)
sendVars.au= Application.application.parameters.auth;
request.data = sendVars;
request.url = url;
request.method = URLRequestMethod.POST;
Infine farcire i biscotti in su global.asax BeginRequest
if (Request.RequestType=="POST" && Request.Path.EndsWith("upload.aspx"))
{
try
{
string session_param_name = "sess";
string session_cookie_name = "ASP.NET_SESSIONID";
string session_value = Request.Form[session_param_name]; // ?? Request.QueryString[session_param_name];
if (session_value != null) { UpdateCookie(session_cookie_name, session_value); }
}
catch (Exception) { }
try
{
string auth_param_name = "au";
string auth_cookie_name = FormsAuthentication.FormsCookieName;
string auth_value = Request.Form[auth_param_name];// ?? Request.QueryString[auth_param_name];
if (auth_value != null) { UpdateCookie(auth_cookie_name, auth_value); }
}
catch (Exception) { }
}
Spero che questo aiuti qualcuno a evitare le 6 ore che ho appena trascorso affrontando questo. Adobe ha chiuso il problema in modo irrisolvibile, quindi questa è stata la mia ultima risorsa.
Ciò significa che il browser deve avere i cookie prima di avviare il filmato Flash? Faccio il login in Flash, e non sembra funzionare. –
@Hanno Non ho provato l'accesso tramite Flash, ma penso che ci sia una soluzione alternativa - vedi l'aggiornamento – Amarghosh