75 messaggi dal 22 ottobre 2009
Ciao a tutti
Sto creando un progetto in asp.net su db sql2012 express e IIS 8. Il progetto si divide in due parti:

parte Web gestione di tutta l' interfaccia per input, stampe e altro

parte automatica si tratta di un programma che risiede sul server e tramite il comando
FileSystemWatcher, verifica la presenza di file e nel caso li stampa con CrystalReport.
Tutte e due i programmi accedono allo stesso DB autonomamente. Ora pensavo di ottimizzare il tutto creando un ulteriore programma DLL che racchiude la chiamata al db (entity data model) per avere una sola chiamata alla fonte dati.
Non ho mai fatto una cosa del genere con Web Qualcuno mi sa dire se e' una buona soluzione o in alternativa meglio seguire una strada diversa (e ovviamente quale).
Spero di essere stato chiaro
Un grosso grazie a tutti

Igor
Modificato da igor.mar il 23 luglio 2015 11.03 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Igor,
sì, certo, potresti creare un progetto referenziato dagli altri due, dato che la logica di accesso al database è la stessa.

Questo non è l'unico approccio perché, in alternativa potresti anche continuare a tenere le due logiche di accesso ai dati separate. Ad esempio, se il progetto web lavora con molte più entità della parte automatica, allora potresti creare due Entity Data Model. Il primo sarà omnicomprensivo, mentre il secondo conterrà solo le poche entità necessarie. In questo caso non si tratta di una violazione del principio DRY se riconosciamo che le applicazioni sono diverse e hanno necessità diverese quando accedono allo stesso database.
Questo approccio privilegia la semplicità e la manutenibilità rispetto ad un ipotetica class library che, per accontentare tutti i progetti da cui viene referenziata, contiene artefatti che iniziano a gonfiarla.

ciao,
Moreno

Enjoy learning and just keep making
75 messaggi dal 22 ottobre 2009
Ciao Moreno

Scusa non ho capito bene. Io ho gia' due Entity Data Model ma uno e' nel programma Web e l altro nel programma windows form (servizio). Come posso unire i due per avere una sola gestione da manutenere?
Grazie
Igor
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Igor,
puoi creare un progetto di tipo Class Library e spostare lì dentro uno dei due Entity Data Model. Scegli quello che contiene tutte le classi di entità, cioè sia quelle usate dal progetto web che dal servizio.

Poi, referenzia questo progetto Class Library negli altri due progetti e potrai iniziare ad usare le classi di entità e il contesto proprio come facevi prima.

Qui trovi una guida passo-passo:
https://msdn.microsoft.com/en-us/library/vstudio/cc716677%28v=vs.100%29.aspx

e un video:
https://www.youtube.com/watch?v=rYK0B1CQUN8

ciao,
Moreno

Enjoy learning and just keep making
75 messaggi dal 22 ottobre 2009
Grazie Moreno

Ora faccio un paio di prove. Mi sembra un ottima soluzione.
Ancora grazie per il Tuo preziosissimo aiuto.
Propongo una raccolta firme per un monumento nella piazza della Tua citta' :)
Ciao
Igor
11.886 messaggi dal 09 febbraio 2002
Contributi
ahah prego, ti ringrazio per il pensiero :)

Enjoy learning and just keep making

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.