IoC in una applicazione web

rated by 0 users
This post has 8 Replies | 4 Followers

Top 10 Partecipanti
Post 183
Punteggio 3.383
petrux Posted: 06-22-2010 18.07

Ciao a tutti,

 

da qualche mese sviluppo applicativi desktop (principalmente su WPF) in cui cerco di seguire in maniera più stretta possibile il pattern IoC. 

Ora devo sviluppare un applicativo ASP.NET abbastanza "impegnativo" e pensavo di seguire lo stesso approccio, ma mi sorge un dubbio: dove va piazzato "l'inizio" dell'IoC (configurazione del container e blablabla)?

 

Ciao e grazie,

Giulio

 

p.s. ma l'interfaccia NNTP è proprio giù? :-(

Top 10 Partecipanti
Post 98
Punteggio 1.705
Ciao petrux,

You wrote on 22/06/2010 :
> da qualche mese sviluppo applicativi desktop (principalmente su WPF) in cui
> cerco di seguire in maniera più stretta possibile il pattern IoC.
>
> Ora devo sviluppare un applicativo ASP.NET abbastanza "impegnativo" e pensavo
> di seguire lo stesso approccio, ma mi sorge un dubbio: dove va piazzato
> "l'inizio" dell'IoC (configurazione del container e blablabla)?

startup dell'applicazione poi piazzi il tutto in una bella variabile
Application, se invece usi MVC vivi molto pi� felice perch� non ti devi
preoccupare di nulla

http://milestone.topics.it/blog/post/ma-quanto-e-ben-fatto-asp.net-mvc

> Ciao e grazie,
> Giulio
>
> p.s. ma l'interfaccia NNTP è proprio giù? :-(

no :-)

--
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCP
http://mvp.support.microsoft.com
blog @ http://milestone.topics.it
whynot [ at ] topics [ dot ] it
  • | Punteggio Post: 35
Top 10 Partecipanti
Post 183
Punteggio 3.383

Ciao Mauro,

> startup dell'applicazione poi piazzi il tutto in una bella variabile 

>Application,

uh? Startup? e dove starebbe? 

> se invece usi MVC vivi molto pi� felice perch� non ti devi
> preoccupare di nulla

Uhm... diciamo che non lo posso usare perché di fatto la pagina aspx non è la pagina di una applicazione ma mi serve per un uso perverso come gateway tra due mondi un po' strani... ;-) (per ora non posso dire di più)

>> p.s. ma l'interfaccia NNTP è proprio giù? :-( 

> no :-)

 

Boh... sono tre giorni che non riesco ad accedere... :-/

 

Ciao e grazie,

petrux

  • | Punteggio Post: 35
Top 10 Partecipanti
Post 98
Punteggio 1.705
Ciao petrux,

You wrote on 22/06/2010 :
> uh? Startup? e dove starebbe?

aggiungi il Global.asax al porgetto, lo trovi li.

..m

--
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCP
http://mvp.support.microsoft.com
blog @ http://milestone.topics.it
whynot [ at ] topics [ dot ] it
  • | Punteggio Post: 5
Top 10 Partecipanti
Maschio
Post 48
Punteggio 1.090

se usi ASP.NET MVC, ti implementi una controller factory custom o fai "cut&paste" di quella già pronta in NSK :-)

  • Inserito sotto: , ,
  • | Punteggio Post: 5
Top 10 Partecipanti
Maschio
Post 160
Punteggio 2.104

Utilizza il routing di asp.net MVC, routi le richieste su un tuo gestore che crea l'handler risolvendolo con IoC, potrebbe anche questo essere una soluzione se l'uso è perverso :D

alk.

  • | Punteggio Post: 5
Top 10 Partecipanti
Post 14
Punteggio 358

Si può fare anche utilizzando MVP, anche se c'è da "sporcarsi un po' le mani":

la configurazione del container può essere fatta, come in tutti gli altri casi, nell'Application_Start del Global.asax. Il ServiceProvider così ottenuto può essere infilato in una qualunque variabile a livello di Application e riutilizzato nei Page_Load delle singole pagine per iniettare il Presenter nella view ed effettuare il double-binding...

Ciao,
neronotte

  • | Punteggio Post: 5
Top 10 Partecipanti
Post 183
Punteggio 3.383
Ciao Mauro,

mauroservienti wrote:
> startup dell'applicazione poi piazzi il tutto in una bella variabile
> Application,

Sono tornato a lavorare sulla cosa e mi chiedevo: perché in Application
e non in Session? La mia applicazione può stare su anche per *anni*,
come faccio - ad esempio - con il data context? Non è meglio dargli il
ciclo di vita di una Session?

Ciao,
Giulio

--
  • | Punteggio Post: 20
Top 10 Partecipanti
Post 14
Punteggio 358

L'IoC container va inizializzato una volta per tutte, e resterà in piedi per tutto il ciclo di vita dell'applicazione... per questo ha senso inizializzarlo una volta per tutte nel global.asax ed infilarlo in una variabile di Application. Per quanto riguarda il dataContext, il gioco è diverso: tipicamente il suo ciclo di vita è configurabile nel il motore di IoC, che può essere configurato in modo tale (ad esempio) da restituire un nuovo DataContext per ogni Session, o per ogni Request.

Ciao,
neronotte 

  • | Punteggio Post: 5
Pagina 1 di 1 (9 elementi) | RSS
Powered by Community Server (Commercial Edition), by Telligent Systems