25 messaggi dal 30 novembre 2005
Ciao a tutti ragazzi vorrei presentare un piccolo problema e spero che qualcuno mi sappia dare una mano.

Ho una pagina asp (non gestita da me) che salva in cache un valore stringa nella cache che serve alla pagina che sto costruendo io in asp.net (c#.NET).

Recuperando gruppo e chiave riesco ad accedere alla cache ma quando tento di leggere quello che ha scritto la pagina asp mi dice "Cast is not valid.", non è che un tipo di dati asp non è compatibile con asp.net? anche perchè io quello che leggo lo associo a un object che poi casto a stringa.. piu' generico di così!... come posso risolvere il tutto?

Grazie anticipate
KETENEFREGA ha scritto:
Ho una pagina asp (non gestita da me) che salva in cache un valore stringa nella cache che serve alla pagina che sto costruendo io in asp.net (c#.NET).


Cosa vuol dire che la pagina asp (ASP 3.0!!!) "salva in cache"? In che cache? (non mi risulta che classic asp avesse un concetto di cache...)

Matteo Casati
GURU4.net
25 messaggi dal 30 novembre 2005
In effetti detta così.. cmq se ti puo' interessare il passaggio è questo, naturalmente con le reference giuste :)

la pagina asp, anzi ASP 3.0 (megio così?) crea un oggetto dal server:

// set objPdl = server.CreateObject("OBJ")
// set objCache = objPdl.OBJCreateObject("OBJCache")

e poi l'oggetto va a scrivere in cache:

// objCache.PutValue "GruppoCache", "ChiaveCache" , cstr(ElencoPath)

ma il nocciolo del problema non è questo.. la mia domanda è come mai da una pagina ASP.NET 1.0 (C#.NET) mi dice che il cast non è valido quando voglio recuperare, con la stessa chiave e gruppo, dalla cache il valore di ElencoPath.

Spero di esser stato piu' preciso e chiedo scusa.
Dunque la pagina asp 3.0 usa un componente com per scrivere delle informazioni *da qualche parte* (memoria, disco, database, ...)
La parte asp.net come recupera quelle informazioni? Usando lo stesso componente (via com interop)?

Il punto sta qui: cosa legge la parte .net?

Prova ad usare il debug (Visual Studio) per vedere cosa contiene / di che tipo è la variabile che leggi.

Matteo Casati
GURU4.net
25 messaggi dal 30 novembre 2005
asp.net cerca di leggere un OBJECT usando un altro componente com.
poi il passo successivo sarebbe:

string elencoPath = (string)objCache;

ecc ecc ecc

dal debug schianta proprio il GetValue che restituisce l'object dicendo che il cast non è valido
26 messaggi dal 20 luglio 2005
Soluzione banale:
visto che non credo che il componente Com ti restituisca un oggetto di tipo stringa (ASP.NET) basta che invece di castare utilizzi il metodo ToString() che hanno tutti gli oggetti

string elencoPath = objCache.ToString();

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.