18 messaggi dal 04 giugno 2007
Ciao, grazie per l'articolo, molto utile anche perchè ci sto proprio lavorando .... Volevo solo fare una osservazione ed una domanda

OSSERVAZIONE) ObjectContext non è serializzabile, posso utilizzare l'eventuale strada della Session solo se <sessionState mode="InProc"...

DOMANDA) Ho uno scenario dove mi trovo particolarmente in difficoltà (magari è solo questione di mia inesperienza..):

All'interno della transazione business, che si appoggia quindi sempre allo stesso contesto, elimino un record (e non lo persisto ancora sul DB)

In un secondo step, eseguo una query sul DB che va a leggere guarda caso la stessa tabella ed andrebbe quindi a considerare un record che in realtà a livello concettuale non esiste più.

Mi trovo quindi in uno stato non coerente..
Ossia per farla in breve... come è gestibile il vecchio scenario ADO.NET, dove all'interno della stessa transazione READ COMMITTED potevo comunque fare conto su tutte le modifiche effettuate in transazione ?

Grazie. Ciao.
Modificato da StefanoFar il 24 marzo 2009 11.35 -

Stefano
Ciao Stefano, ti rispondo brevemente.

Osservazione: occhio che nell'articolo, se leggi bene, sconsiglio *vivamente* di usare la sessione per memorizzare gli ObjectContext, mentre propongo la cache di ASP.NET (in process) come valida alternativa.

Domanda: purtroppo non ci sono molte alternative oltre a quella di invocare da subito la SaveChanges per eseguire la delete, in modo che la query restituisca dati corretti.

A presto,
m.
18 messaggi dal 04 giugno 2007
grazie per la risposta anche se non mi consola...

non sarebbe possibile avere l'intero codice di implementazione UnitOfWork ecc..?

Grazie ancora. Ciao.

Stefano
Certo, penso di pubblicarlo in serata. Non è già lì semplicemente per un mio errore

A presto,
m.
18 messaggi dal 04 giugno 2007
Mi sorge un dubbio, ed avrei bisogno di un gentile riscontro...

La cache di ASP.net, tu hai sottolineato essere In Process...
Questo significa che se la mia appicazione è sotto un bilanciatore (come lo è in effetti), che la devia su un SERVER_WEB1 o SERVER_WEB2 a seconda del carico di lavoro, rischio di accedere ad una cache non valida ?

E quindi la tua soluzione, per applicare le modifiche sempre allo stesso ObjectContext, nel caso di più servers non è applicabile ?
Sbaglio ?

Grazie ciao.

Stefano
A meno che non utilizzi un balancing in ip affinity direi proprio di no.

m.
StefanoFar wrote:
E quindi la tua soluzione, per applicare le modifiche sempre allo stesso ObjectContext, nel caso di più servers non è applicabile ?

a parte l'uso di IP/session affinity sul bilanciatore, è possibile utilizzare anche State Server (come ScaleOut o il prossimo al rilascio, da parte di Microsoft, Velocity).
probabilmente la cosa migliore (e più semplice) sarà usarlo con ASP.NET 4.0 che avrà la possibilità di utilizzare il provider model anche per la Cache.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

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.