none
Webmatrix et connexion aux bases de données. RRS feed

  • Question

  • Bonjour.

    Je fais un site avec webmatrix et dépuis le debut je me pose une question sur l'accès a la base de données.
    Etant depuis toujours habitué a ouvrir la base faire la requette et la refermer au plus vite, je suis étonné de ne pas voir un Database.Close par example.

    var

     

     

    db = Database.Open("StarterSite");

     

     

     

    var dbQueryContenu = db.QuerySingle("SELECT * FROM contenus WHERE id=1");

    Est-ce que j'ai oublié quelque chose ou c'est prévu avec la syntaxe Razor ?

    jeudi 3 mars 2011 12:20

Réponses

  • Bonjour,

     

    Les exemples utilisent Sql CE 4.0, qui tourne dans l’espace de mémoire du processus. Comme il ne s’agit pas d’une communication inter-processus, on n’a pas besoin de fermer la connexion. La base de données est fermée quand le processus de notre application est fermée.

     

     Pour une communication inter-processus, on appelle une ressource non-managée, et on n’a aucun moyen pour gérer l’état de la connexion. C’est pour ça qu’on doit fermer la connexion de manière explicite, pour qu’elle retourne dans le pool de connexions, afin d’être réutilisée.

     

    Donc, pour des bases de données Sql CE, on n’a pas besoin de fermer la connexion, mais on doit le fermer si on utilise une autre base de données.

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    • Marqué comme réponse Tony Simoes mardi 8 mars 2011 14:01
    mardi 8 mars 2011 12:27

Toutes les réponses

  • Bonjour,

     

    A partir des didacticiels Microsoft sur le sujet, je vois qu’on utilise toujours Open sans Close. Je ne sais pas pour le moment si la connexion est fermée automatiquement ou si on manque le Close juste pour des raisons de simplification des didacticiels. J’essaye de me renseigner sur le sujet et je reviens avec une réponse.

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    lundi 7 mars 2011 12:58
  • Bonjour,

     

    Les exemples utilisent Sql CE 4.0, qui tourne dans l’espace de mémoire du processus. Comme il ne s’agit pas d’une communication inter-processus, on n’a pas besoin de fermer la connexion. La base de données est fermée quand le processus de notre application est fermée.

     

     Pour une communication inter-processus, on appelle une ressource non-managée, et on n’a aucun moyen pour gérer l’état de la connexion. C’est pour ça qu’on doit fermer la connexion de manière explicite, pour qu’elle retourne dans le pool de connexions, afin d’être réutilisée.

     

    Donc, pour des bases de données Sql CE, on n’a pas besoin de fermer la connexion, mais on doit le fermer si on utilise une autre base de données.

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    • Marqué comme réponse Tony Simoes mardi 8 mars 2011 14:01
    mardi 8 mars 2011 12:27
  • Bonjour et Merci Alex,

    C'est bien sympa de faire ces éclaircissements.

    Sql CE a l'air bien optimisé. Il faut que je l'apprivoise un peu mieux alors. Il comporte pas mal d'avantages pour le déploiement. Surtout avec Webmatrix.
    J'ai fait un test sur maplateformeweb http://msdn.microsoft.com/fr-fr/maplateformeweb.aspx il y a quelques mois et j'en suis bien content. :)
    Je crois que l'operation est encore d'actualité s'il y en a qui en ont pas profité.

    Merci encore pour la peine, c'est rare qu'on vous reponde aussi correctemet.

    mardi 8 mars 2011 14:20