Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    47

    Connectionstring e tre livelli

    Secondo me ci sarà una risposta banale ma perdonatemi se sono andato in loop:
    Ipotizziamo che io voglia costruire un'applicazione web impostata su tre livelli.

    1) pagine aspx
    2) classi con i modelli di oggetti e relativo utilizzo logico.
    3) classi che lavora sul db (dll separata dal contesto web)

    Dove metto la mia stringa di connessione????

    - Nel web config??? Così ogni volta che devo chiamare qualche metodo sulla classe logica devo passare la stringa di connessione e qundi poi inoltrarla alla classe dati?

    - Nella classe che lavora sui dati?? Ma così rimarrebbe memorizzata all'interno nel codice non criptata, e inoltre comporterebbe la ricompilazione del codice ad ogni variazione della stessa.

    - In un file che vado a leggere dalla classe dati? Ma così non sfrutterei le potenzialità della protezione che offrirebbe il web config.

    In pratica posso riassumere la domanda: come faccio a prendere da un alibreria di classi che lavora sui dati la connectionstring memorizzata nel web.config dellìapplicazione asp.net???

    Grazie.

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    codice:
    configurationsettings.appsettings("nomechiave")

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    47
    appsettings di quale applicazione? la libreria di classi dati è un oggetto a se stante...

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    beh se ho capito bene la domanda, la classe a se stante fa parte comunque del progetto (e' un file .vb o .cs nella directory dell'applicazione, o ho capito male?), e:

    codice:
       System.Configuration.ConfigurationSettings
    legge comunque le impostazioni del web.config di esso...

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    47
    no... il problema è proprio quello...
    la libreria di classi che scrive sul db è compilata in una dll (questo perchè avrei in progetto di usarla anche per un'altra applicazione desktop)

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: Penso proprio di non aver capito.
    Ma se ho una libreria compilata, dentro la libreria ci saranno dei metodi che accettano una stringa, la stringa di connessione. Poi, dove viene memorizzata, non va bene come suggerito, configurationsettings.appsettings("nomechiave")? :master:
    Pietro

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    47
    hai ben compreso invece.

    io invece mi sono posto il quesito perchè:

    Prevedendo di dover fare innumerevoli chiamate a questa libreria...e quindi di dover passare altrettante volte la stringa di connessione (e questa era la prima ipotesi di soluzione che avevo fatto), volevo fare in modo che da sola potesse andare a prendersela da qualche parte.

    Mi interessava avere qualche parere sulle metodologie usate da altri..
    Tutto qua.

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da gtommy
    hai ben compreso invece.

    io invece mi sono posto il quesito perchè:

    Prevedendo di dover fare innumerevoli chiamate a questa libreria...e quindi di dover passare altrettante volte la stringa di connessione (e questa era la prima ipotesi di soluzione che avevo fatto), volevo fare in modo che da sola potesse andare a prendersela da qualche parte.

    Mi interessava avere qualche parere sulle metodologie usate da altri..
    Tutto qua.
    Ma scusami, faccio una procedura generale, richiamabile da ogni progetto, web, windows form. Gli passo come parametro la stringa di connessione. Mi spieghi come dovrebbe fare questa procedura a pescarsi questo dato? che è variabile da progetto a progetto, per non dire da pagina a pagina dello stesso progetto
    Pietro

  9. #9
    e fare una classe che richiami
    configurationsettings.appsettings("nomechiave")
    puo' essere una soluzione?
    dopo dalla tua pagina basta che richiami
    SqlConnection nome = tuaclasse.metodo();
    che ti restituisce un Sqlconnection o quello che sia
    e setti tutto nel web.config

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    47
    Se lo avessi saputo non avrei postato
    Ovviamente hai logicamente ragione.
    Il mio quesito era appunto orientato ad ovviare tale pratica.

    Sto da poco lavorando sul 2.0 e ho notato che ci sono innumerevli innovazioni dal punto di vista dati, sicurezza, connettività. Mi chiedevo se avessero da consigliare qualche pratica alternativa.

    Grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.