Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Consiglio su connessione al database

    Salve,
    sto realizzando un applicazione web in Asp.NET. Come DBMS uso MySQL. Volevo avere un consiglio riguardo la connessione al database. In un contesto "pseudo-reale" per effettuare interrogazioni al database è meglio mantenere una connessione sempre attiva (magari tramite pattern singleton e simili) oppure aprirla e chiuderla ad ogni connessione?

    Vi sono sensibili differenze fra i due approcci o è soltanto una scelta di stile?
    Grazie per i consigli!

  2. #2
    Per esperienza personale ti consiglio l'approccio:
    - apro connessione all'inizio della pagina
    - passo la connessione a tutti gli oggetti che ne hanno bisogno
    - chiudo la connessione

    In breve, cerca di effettuare il minor numero di aperture e chiusure possibili della connessione (riutilizzandola tra più oggetti) e chiudila al termine dell'esecuzione.
    Visual Basic e Dintorni
    Blog sullo sviluppo Web in generale

  3. #3
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    io dico che dipende dall'applicazione !
    I got the remedy

  4. #4
    Beh io ora come ora ho una classe DBManager che ha come una property statica "Instance" che mi restituisce l'oggetto singleton. Una volta che l'applicazione parte (quindi all'avvio del server) questa inizializza la connessione al DB. Quindi in un qualsiasi momento l'applicazione ha una connessione sempre aperta sul db. Quando vi è un interrogazione da fare al DB, io recupero tale oggetto Instance e accedo al db tramte i metodi di selezione (e/o modfica) al DB.

    Quello che mi chiedevo è cosa succede nel caso di operazioni piu' o meno concorrenti. Nel senso fin'ora sono solo io che faccio le prove... ma in un contesto piu' reale vi saranno più utenti collegati insieme. L'avere una sola connessione può dare qualche problema?

    Le operazioni da compiere sono le solite.. recupero/modifica/inserimento di informazioni riguardanti gli utenti e di strutture ad oggetti simili ai post di un forum.

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Segui il consiglio di simo e vedrai che non sbagli
    Pietro

  6. #6
    Con una connessione singola così per l'intera applicazione mi viene in mente un dubbio...
    cosa succede quando hai bisogno di sapere l'ultimo id inserito?

    Normalmente ti viene restituito l'ultimo id inserito tramite la connessione corrente.

    Ma se tutta l'applicazione utilizza la stessa connessione potrebbe capitare che tu fai un inserimento, un istante dopo viene fatto un nuovo inserimento da un'altra funzione dell'applicazione per mezzo di un altro utente. A te che id viene restituito?

    Magari è un non problema, però penso che meriti essere approfondito
    Visual Basic e Dintorni
    Blog sullo sviluppo Web in generale

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 © 2025 vBulletin Solutions, Inc. All rights reserved.