Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Pb de connexion [ Base de données / SQL Server ] (blowlagoon)

jeudi 15 février 2007 à 18:14:02 | Pb de connexion

blowlagoon

Bonjour,

J'ai un petit pb avc mon code de connexion sur ma page principale. je m'explique :
J'ai placé mon code de connexion sur ma master page on me disant que sur le load de ma page la connexion s'effectue une fois pour tte durant tte la durée de l'utilisation de l'applis web. sauf que lorsque j'ai ajouté un treeview dans ma page master et en effectuant un clique sur un noeud pour acceder à une page fille et ce sur l'evenement "TreeView_DataList_SelectedNodeChanged", j'ai une erreur qui est provoquée : {"Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled connections were in use and max pool size was reached."}
cela est dû biensur au fait que ma connexion s'ouvre plusieurs fois (plusieurs passage dans le load de la page master).
Donc ma question est pourquoi le code sur le load de la page est executé plusieur fois alors que c le TreeView_DataList_SelectedNodeChanged qui est demandé? Et ma 2eme question est-ce que j'ai bien fait de mettre mon code de conexion sur mon load_page de la master page?

Merci.

jeudi 15 février 2007 à 22:40:20 | Re : Pb de connexion

nhervagault

Administrateur CodeS-SourceS
Salut,

Ta méthode est incorrecte.

Le but de dotnet et du web c'est d'être le moins possible connecté à la base.

D'ou l'utiilisation et l'apparition des datasets.

Ensuite, le page load de ta master page est appellé une fois, mais à chaquie requete HTTP (html), c'est a dire à quand la page se recharge.


Les bonnes pratiques veulent, que tu ouvres ta connection et la ferme
dans la meme fonction.

Si tu ne veux pas t"embeter, il faut utiliser les dataset et c'est eux qui ce charge des ouverture et fermeture des connexions.

Ensuite, il y a quelques cas, ou il faut le faire à la main (update et insert delete select complexe)

Une connexion doit durer le moins de temps possible, c'est une ressource et comme toute ressource c'est rare, Donc il faut les economiser.

Bon courage.

vendredi 16 février 2007 à 10:00:32 | Re : Pb de connexion

blowlagoon

Merci pour ta reponse....
Normalement c'est la méthode que j'utilise dans le develeoppement Client/serveur...mais j'ai cru lir qques part qu'il faut laisser la conexion ouverte durant tte la session utilisateur. En suite sur mon page load de la page master je fais une verification sur le profil utilisateur pour lui donnée accès ou pas à l'application, donc je sui obligé d'ouvrir ma connexion sur la page_load de la master effectivement je la ferme pas mais c'est pa la la question c'est que je ne saisi pas pk le page_load est executé alors que je sollicite le TreeView_DataList_SelectedNodeChanged .
Ensuite est ce que c'est mieux de mettre mes verifs profils user dans le glabal.asax, sachant que j'ai deja un web.config, est il possible d'avoir les deux dans la mm appli ou on peut mettre du code ds la web.config ce qui me semble pa possibl vu que c'est un fichier xml...enfin je pose des qustion pe etre bete mais je prefere bien comprendre le developpement web, car je suis adepte de travail propre.

Merci de votre aide.

vendredi 16 février 2007 à 12:05:03 | Re : Pb de connexion

nhervagault

Administrateur CodeS-SourceS
Salut, web.config est un fichier de configuration. global.asa est un fichier pour la gestion de l'application et des sessions. Methode debut et fin application, session, et sur erreur. Pour web.config que tu xml. --> changement à chaud de paramètrage. Les deux sont faits pour fonctionner de concert. TreeView_DataList_SelectedNodeChanged fait un postback et recosntruit tourte ta page, voila pourquoi ca passe dans le load. Tu met un bouton sur ta page tu cliques dessus c'est le meme effet. Esperant avoir eclaircit tes problèmes. NB : Un clavier à une touche Entrée

vendredi 16 février 2007 à 12:20:49 | Re : Pb de connexion

blowlagoon

Merci pour ta réponse.
Mais honnetement je suis perdu je ne sais pa ou mettre le code suivant :
Pour le moment est sur ma page master d'ou mes erreur au chargement.
sachant que ds ce code je fais à la fois une connexion à la base pour recupèrer le profil user afin de personaliser les accèssur ma page master.

ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load

Dim IDSlash AsInteger = 0

Dim IDPTVirg AsInteger = 0

Dim dbCnx AsNew SqlConnection

Dim dbCmd AsNew SqlCommand

Dim Fct AsNew Fonctions

IfMy.User.IsAuthenticated = TrueThen

' Se connecter à la base DataList

dbCnx =

New SqlConnection(ConfigurationManager.ConnectionStrings("DataListConnectionString").ConnectionString)

dbCnx.Open()

' Tester l'accessibilité de la base DataList

SelectCase dbCnx.State

Case Data.ConnectionState.Broken

MsgBox(

"La base DataList est cassée.Contactez votre DBA!!", MsgBoxStyle.Critical, "DataList Inaccessible")

Me.lbl_Binevenue.Text = "DataList Inaccessible."

Me.lbl_Binevenue.Font.Size = FontUnit.Large

Me.lbl_Binevenue.Visible = True

ExitSub

Case Data.ConnectionState.Closed

MsgBox(

"La base DataList est fermée.Contactez votre DBA!!", MsgBoxStyle.Critical, "DataList Inaccessible")

Me.lbl_Binevenue.Text = "DataList Inaccessible."

Me.lbl_Binevenue.Font.Size = FontUnit.Large

Me.lbl_Binevenue.Visible = True

ExitSub

EndSelect

 

' Récupération du nom utilisateur Système.

IDSlash =

My.User.Name().IndexOf("\")

' S'assurer que l'utilisateur est un profile admis à accèder à la Base DataList

Fct.RecupDataProcStockParam(dbCnx,

"ADL_SEL_PROFIL_USER", My.User.Name().Substring(IDSlash + 1))

If Fct.gsProfile <> "Utilisateur inexistant"Then

IDPTVirg = Fct.gsProfile.IndexOf(

";")

Me.lbl_TitreApp.Text = ConfigurationManager.AppSettings("Titre_Principal")

Me.lbl_Titre_Entite.Visible = True

Me.lbl_Titre_Entite.Text = Fct.gsProfile.Substring(IDPTVirg + 1)

Me.lbl_Binevenue.Text = "Session ouverte avec le compte : " + My.User.Name().Substring(IDSlash + 1)

Me.lbl_Binevenue.Visible = True

Me.TreeView_DataList.Visible = True

Me.TreeView_DataList.CollapseAll()

Else

Me.lbl_TitreApp.Text = "Application DataList"

Me.lbl_Titre_Entite.Visible = False

Me.lbl_Binevenue.Text = "Utilisateur non admis. Contactez l'administrateur pour qu'il vous crée."

Me.lbl_Binevenue.Font.Size = FontUnit.Medium

Me.lbl_Binevenue.Visible = True

Me.TreeView_DataList.Visible = False

ExitSub

EndIf

' Fermer la connexion

dbCnx.Close()

dbCnx =

Nothing

Else

Me.lbl_Binevenue.Text = "Utilisateur non autorisé."

Me.lbl_Binevenue.Font.Size = FontUnit.Large

Me.lbl_Binevenue.Visible = True

EndIf

'Initialisation de la date du jour pour affichage.

Me.lbl_DtVal.Text = Date.Now.ToString("D")

EndSub




Cette discussion est classé dans : page, code, connexion, load, master


Répondre à ce message

Sujets en rapport avec ce message

réutilisation de code dans chaque page [ par Run85 ] Bonjour, je débute en .NET et j'ai une question sans doute très simple: je souhaite réutiliser du code dans chaque page. Je souhaite récupérer le résu Pb de UserControl [ par blueangel ] je suis entrain de créer un datagrid en code behind dans un UserControl.dans l'evenement Page_load du user Control j'ai ajouté cette ligne de code  pu Variable Session [ par ppmax ] Bonjour, j'ai une petite question sur la variable Session:Comment fait-on pour savoir si une clé a déjà été rentrée, un truc du genre:            if ( timer ajax dans page c# avec formulaire [ par yetidani ] Bonjour,Je code un site en c#. Sur une de mes pages se trouve un composant constitué d'un formulaire (pour faire simple un textbox pour saisir) et un INCLUDE [ par suzukMan ] Boujour à tous,Voila ma question je voudrais utiliser un include pour faire une page concernant la connexion à la base pour eviter de l'écrire sur cha probleme du page load [ par imad_lol ] salut.je développe en ASP.net et je suis débutant.alors quand j'ajoute un boutton et j essaye d'executer ses instructions,le programme réexecute la pa Accéder aux propriétés d'un master page dans un user control [ par vince233 ] Bonjour,J'ai actuellement un masterPage : MasterPage.master et une page : Default.aspxDans le masterpage, j'ai un attribut public Master.Button1_Click MasterPage & Web Form [ par Tuizi ] Bonjour,Voila je voudrais mettre en place une master page.J'ajoute donc à mon projet une master page.Ensuite j'ajoute une Web Form ou je précise bien champ inconnu dans code behind ? [ par ronando ] Bonjour à tous, j'ai un problème tout simple mais que je comprend pas !Sur une page aspx je place des textbox mais je n'ai pas d'accès dans mon code b champ inconnu dans code behind ? [ par ronando ] Bonjour à tous, j'ai un problème en .net (webform) tout simple mais que je comprend pas !Sur une page aspx je place des textbox mais je n'ai pas d'acc


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.