Ho un'applicazione asp.net e servizi web (asmx) che risiedono nella stessa applicazione ma non nella stessa cartella dei file aspx. Ho anche un'applicazione Winform che utilizza i servizi web. Ho contrassegnato i metodi webservice con [WebMethod (EnableSession = true)] ma non sono in grado di condividere gli stessi valori di sessione presenti nell'applicazione nei servizi web. L'applicazione WinForm ha accesso al sessionID dall'applicazione e sto usando il seguente codiceCondivisione della sessione tra il servizio web e l'applicazione asp.net
Uri uri = new Uri(ServerServiceUrl);
_cookieContainer = new CookieContainer();
_cookieContainer.Add(new Cookie("ASP.NET_SessionId", SessionID, "/", uri.Host));
La mia domanda è: C'è qualcosa che mi manca o facendo male che non posso accedere al sessioin applicazione dalle webservices?
Perché sono necessarie sessioni in un servizio web? Stai memorizzando uno stato temporaneo? In tal caso, i servizi IMO dovrebbero essere privi di stato e con questo, il tuo problema non esisterebbe ... – Sunny
D'accordo, dovrai pensare ai servizi web come le classi statiche – Pierreten
I miei servizi aspx, proprio come l'applicazione, parlano ai servizi web java e quando l'applicazione chiama i servizi, memorizza nella cache i valori per un periodo di tempo. Invece di chiamare i servizi java più e più volte voglio utilizzare i dati che sono stati memorizzati nella cache dell'applicazione. Quindi perché voglio condividere la sessione. –