Dati comuni a più progetti

lunedì 21 luglio 2008 - 09.48

denis.basei Profilo | Senior Member

Vi chiedo un consiglio su come strutturare una soluzione in visual studio .net.
Ho una soluzione composta da un progetto, scritto in vb net. Ho commissionato ad un collaboratore lo sviluppo di una nuova funzionalità dell'applicazione. Devo fornire al collaboratore la stringa di connessione ad un db sql. Ho prospetato due soluzioni:
1. Aggiungere ai parametri che già passo a questa funzione esterna anche la stringa di connessione al database.
2. Creare un progetto nella soluzione che contiene i parametri della soluzione stessa. Credo che in questo caso il mio collaboratore dovrebbe creare un progetto all'interno della soluzione e non una libreria esterna. E' corretto?


Grazie
Denis B. - www.baseiengineering.com

GuardianOfTheFlame Profilo | Junior Member

non sono mica sicuro di aver capito quello che ti serve, cmq per gestire la stringa di connessione potresti aggiungere il file di configurazione al progetto ed usare la sezione connectionStrings. In questo modo puoi modificare la stringa di connessione (nel caso sia diversa per il collaboratore esterno) semplicemente editando il file app.config senza dover ricompilare o fare 2 versioni del programma.

The surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us - Calvin (and Hobbes)

Lanello Profilo | Senior Member

>1. Aggiungere ai parametri che già passo a questa funzione esterna
>anche la stringa di connessione al database.

io ai miei collaboratori passo il riferimento alla connessione sql che faccio io...

in questo modo non ho nessun problema di sicurezza dovuto al passaggio "in chiaro" della stringa di connessione verso la funzione esterna e la suddetta routine non deve fare un'altra connessione separata al database dal quale deve attingere.

lo sviluppatore della funzione (che ovviamente dovrà avere accesso almeno ad un server di test con una replica del db originale) non dovrà fare altro che una piccolissima soluzione con una form che fa la connessione al db di test e premendo un bottone va a chiamare la funzione esterna, per fare il debug in corso di sviluppo della stessa.

una volta pubblicata, sarai tu dal tuo progetto principale a chiamare la sua funzione esterna e quindi sarai tu a passargli il riferimento alla giusta connessione, che però per lui sarà trasparente, e non saprà MAI a che database è connesso.


-----------------------------------------------------
La ricompensa per una cosa ben fatta, è averla fatta.

denis.basei Profilo | Senior Member

Lanello anch'io avevo pensato di fare come mi suggerisci.
Mi ha fatto sorgere qualche dubbio lo sviluppatore esterno che mi dice di aggiungere alla solution un progetto che contiene i parametri. A questo progetto accessorio accede il mio progetto e quello ulteriore che lui aggiunge alla solution. Mi ha introdotto questo concetto perchè ha avuto problemi di "riferimenti circolari" in fase di compilazione, almeno così ho capito...
Denis B. - www.baseiengineering.com

Lanello Profilo | Senior Member

>mi dice di aggiungere alla solution un progetto che contiene
>i parametri.

secondo me non sei tu che ti devi adattare a lui, ma è lui che DEVE seguire le tue specifiche... altrimenti diventi tu il suo programmatore esterno

>questo concetto perchè ha avuto problemi di "riferimenti circolari"

ma come fa ad avere problemi di riferimenti circolari lui che deve sviluppare un componente che si adatti al tuo progetto, non deve far altro che creare anche con una form vuota ed un bottone un micro progettino che "chiami" il componente o la libreria che sta sviluppando per te, in modo da simulare la reale chiamata dal tuo software.

bah...

auguroni
-----------------------------------------------------
La ricompensa per una cosa ben fatta, è averla fatta.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5