Connexion SQL Server non fermée avec un WebService (C#)

Connexion SQL Server non fermée avec un WebService (C#) - C#/.NET managed - Programmation

Marsh Posté le 31-01-2006 à 10:32:11    

Bonjour,
 
J'ai un problème lorsque je demande à un WebService d'accéder à une BD SQL Server : la connexion marche, mais, la connexion ne se ferme jamais sauf si je recompile le WebService ou que je tue la process sql directement dans 'Activity Monitor du Management Studio'.
 
En dev : Studio 2005, C#, SQL Server 2005, SQL Server Management Studio Express (Activity Monitor)
WebService : Sous Visual Studio 2005, C# (le WebService est sur un serveur)
Appli Cliente : Sous Visual Studio 2005, C# (sur un poste client relié au serveur via un VPN)
Mon niveau : débutant
 
Mon WebService :

using System;
using System.Collections;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
 
[WebService(Description="TEST",Namespace = "http://tempuri.org/" )]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class TEST_WS : System.Web.Services.WebService
{
    public TEST_WS()
    {
    }
    [WebMethod]
    public void Initialisation()
    {
        SqlConnection oMaConnexionBD =null;
       
        oMaConnexionBD = new SqlConnection();
        oMaConnexionBD.ConnectionString = "Data Source=.........";
       
        oMaConnexionBD.Open();
        oMaConnexionBD.Close();
        oMaConnexionBD = null;
    }
}


 
Mon Appli Cliente :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            WebReference.TEST_WS MonWS = new WebReference.TEST_WS();
            MonWS.Initialisation();
            MonWS.Dispose();
            MonWS = null;
 
        }
    }
}


Donc comme je l'ai expliqué, la connexion avec la BD se fait mais elle n'est jamais libérée !! même lorsque je quitte l'appli cliente !
 
Quelqu'un peut-il m'aider SVP ?
Merci.
 
 pou info, le process (visible dans 'SQL Server Activity Monitor') est :
- Status : sleeping
- Command : AWAITING COMMAND
- Application : .Net SqlClient Data Provider
- Open Transactions : 0
- CPU : 0
- Physical IO : 0
- Memory Usage : 2

Reply

Marsh Posté le 31-01-2006 à 10:32:11   

Reply

Marsh Posté le 01-02-2006 à 08:53:28    

Bon, puisque personne ne veut me répondre, je me réponds tout seul (si ça peut aider d'autres personnes):
En fait, il suffit d'utiliser un pool de connexion :
 
MaConnexionBD.ConnectionString = "Data Source=.........;pooling=false;";

Reply

Marsh Posté le 01-02-2006 à 11:53:12    

Citation :

En fait, il suffit d'utiliser un pool de connexion :
 
MaConnexionBD.ConnectionString = "Data Source=.........;pooling=false;";


 
:non: La tu n'utilises pas un pool de connexion...
Et c'est normal ce qu'il se passait. (enfin j'ai un doute maintenant :o )
 
http://www.c-sharpcorner.com/Code/ [...] lingNS.asp


Message édité par Setaio le 01-02-2006 à 11:54:02
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed