473,472 Members | 2,124 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Store SqlConnection in SessionVariable

Hello NG,

sometimes I read: "Never store an SqlClient.SqlConnection in a Session
Variable." But noone explains why. Is there anyone who can briefly
summarize the main problems about this approach.

Thanks in advance
Rolf
Nov 18 '05 #1
8 2823
Can't sessions be hijacked and therefore a user could potentially have
access to this data?

"Rolf Gossen" <ro*********@gmx.de> wrote in message
news:d3*************************@posting.google.co m...
Hello NG,

sometimes I read: "Never store an SqlClient.SqlConnection in a Session
Variable." But noone explains why. Is there anyone who can briefly
summarize the main problems about this approach.

Thanks in advance
Rolf

Nov 18 '05 #2
It forces each user to work its own connection. Instead the recommended
approach is AFAIK still to "create" a connection at the beginning of each
page and to release it after...

With the pooling feature provided by ADO.NET, when you "create" a connection
it is actually taken from a pool and returned to this pool when you
"destroy" it. With this approach "creating" a new connection is quick (as it
is actually taken from a pool) and x users can be serviced using a much
lower number of connections (as each user will "borrow" a connection from
the pool just during the period it really needs one).

Patrice

"Rolf Gossen" <ro*********@gmx.de> a écrit dans le message de
news:d3*************************@posting.google.co m...
Hello NG,

sometimes I read: "Never store an SqlClient.SqlConnection in a Session
Variable." But noone explains why. Is there anyone who can briefly
summarize the main problems about this approach.

Thanks in advance
Rolf

Nov 18 '05 #3

"Rolf Gossen" <ro*********@gmx.de> wrote in message news:d3*************************@posting.google.co m...
Hello NG,

sometimes I read: "Never store an SqlClient.SqlConnection in a Session
Variable." But noone explains why. Is there anyone who can briefly
summarize the main problems about this approach.

Thanks in advance
Rolf


If you store opened connections, then you might run out of connections
when the site is moderately busy.
If you close the connection as soon as possible, then the built-in
connection pooling will prevent this problem. Also the pooling
makes sure that new connections are made quickly, so there is
(almost?) no penalty in closing the connection.

In the COM+/ASP world there were even bigger problems with storing
(COM/COM+) objects in the session.
Hans Kesting
Nov 18 '05 #4
Hi Rolf,

I don't know however is it not store in a viewstate, because that can easyly
be hacked.
However a session stays on the server in my opinion.

I assume you are talking about a connectionstring?

If I am wrong in this feel free to correct me?
Cor
Nov 18 '05 #5
Hi . You should not do this !

a SqlConnection is a expansive object .
so you must release it when you dont need it .
and you should not make a SqlConnection for each Session . (That means the
SqlConnection is not shared)

You can choose my component to manage SqlConnection
:
Lostinet.Data.SqlScope

download it : http://www.lostinet.com/

--
Thanks.

Lostinet (MS ASP.NET MVP)
lo*********@hotmail.com
---------------------------
Need MessageBox,ComboBox,DatePicker,PasswordBox,TreeVie w,ASP.Net RPC ?
http://www.lostinet.com/
"Rolf Gossen" <ro*********@gmx.de> ????
news:d3*************************@posting.google.co m...
Hello NG,

sometimes I read: "Never store an SqlClient.SqlConnection in a Session
Variable." But noone explains why. Is there anyone who can briefly
summarize the main problems about this approach.

Thanks in advance
Rolf

Nov 18 '05 #6
Rolf,

I think the more obvious question for you is, why are you creating sql
connections for somewhere where you also have access to the session class?
Connections should be handled in a seperate layer/assembly, such as a data
access layer or a business logic layer, not in the presentation layer.

Raymond Lewallen

"Rolf Gossen" <ro*********@gmx.de> wrote in message
news:d3*************************@posting.google.co m...
Hello NG,

sometimes I read: "Never store an SqlClient.SqlConnection in a Session
Variable." But noone explains why. Is there anyone who can briefly
summarize the main problems about this approach.

Thanks in advance
Rolf

Nov 18 '05 #7
> If you store opened connections, then you might run out of connections
when the site is moderately busy.
If you close the connection as soon as possible, then the built-in
connection pooling will prevent this problem. Also the pooling
makes sure that new connections are made quickly, so there is
(almost?) no penalty in closing the connection.


I think this is quiet a convincing argument!
Thank you.
Rolf
Nov 18 '05 #8
> I think the more obvious question for you is, why are you creating sql
connections for somewhere where you also have access to the session class?
Connections should be handled in a seperate layer/assembly, such as a data
access layer or a business logic layer, not in the presentation layer.

Hello Raymond,

This is an interesting aspect, too, though I must confess, that this
was not my original question.
Thank you
Rolf
Nov 18 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Hugo Lefevre | last post by:
Dear, I have a problem : I have a database which contains my data of hardware. The Id is a varchar and I want at my filling form that my user know which is the last one. So I made a store...
8
by: Rolf Gossen | last post by:
Hello NG, sometimes I read: "Never store an SqlClient.SqlConnection in a Session Variable." But noone explains why. Is there anyone who can briefly summarize the main problems about this...
6
by: Perin | last post by:
Hi, I am using SQL Server as a Database in my ASP.NET application. Can anyone tell me, how to store my connection string in web.config file and access it from my application. It is very urgent...
6
by: ad | last post by:
We usually store the connection string of Web Applicaiton in Web.Config. Now I want to develop WinForm Application. Where is the better place to store the conneciton string?
4
by: Andrew | last post by:
Hello, friends, I have two questions: (1) In asp.net, where is the best place to store DB connection string? (We have .dll to handle all DB queries.) (2) Any sample source code for client...
3
by: Hrvoje Voda | last post by:
I have this code: SqlConnection conn = null; string Table=""; int rCount; conn = new
10
by: Brett Romero | last post by:
I'd like to store something such as the following the my app.config file: <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="DEBUG" value="true"/> <add...
6
by: c676228 | last post by:
Hi everyone, I wrote a store procedure that fetch one row data in the database based on the parameter value I entered. After I created the store procedure, the store procedure code looks like...
7
by: Pim75 | last post by:
Hello, I want to store multiple records at once in a SQL database with a For..Next instruction like the sample code below: For counter = 0 To 100 Dim dbInsert As New SqlCommand( _ "INSERT...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
muto222
php
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.