473,394 Members | 1,759 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Sharing Session variables across applications

Background:
-------------
The idea started as a single sign on type of application. Having tested it
before, I knew we could institute single sign on using the same
Authentication Cookie name (in this case "AuthenticationCookie" -- yeah,
original, I know) and the same machine keys for the applications.

<authentication mode="Forms">
<forms name="AuthenticationCookie" path="/"
loginUrl="login.aspx" protection="All" timeout="10" />
</authentication>

<machineKey
validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB 8CB5CDA1742572A487D9401E34
00267682B202B746511891C1BAF47F8D25C07F6C39A104696D B51F17C529AD3CABE"
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3 799C77AF2B72F"
validation="3DES"
/>

When a user logs into one application, they can move back and forth between
apps. And, the user uses the same session ID in both applications (confirmed
by output of session ID), so it appears as if he is just moving from section
to section in a single app, rather than moving back and forth between
multiple apps. Everything is fine and beautiful ... until today.

The Problem
-------------
I have a colleague who sets up everything in session variables. As his app
is complete already, moving away from Session variables will be too time
consuming to be a realistic solution. The problem is you cannot share
application variables across app boundaries like so:

APP 1: Session["PassedID"] = UserID;
APP 2: UserID = Convert.ToDecimal(Session["PassedID"]);

The one clue I have is the error messages states something about the wrong
namespace, which suggests to me that the namespace has to be used to pull
the variable. This would mean that there is another syntax to pull Session
vars, otther than:

UserID = Convert.ToDecimal(Session["PassedID"]);

In a nutshell: I need basic syntax to pull from same session, different
application (namespace).

My other ideas:

1. Store to some form of temporary persistant storage (XML File, SQL table,
et al) and use Session ID to pass information back and forth.

2. Try the Caching Application Block and see if the Framework allows cross
application use of information.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

************************************************** *************
Think outside the box!
************************************************** *************
Nov 18 '05 #1
4 2031
'sup Cowboy?

How about using SQL Server to store the Sessions, and then you should be
able to execute queries to get the Session values from the other app?

--
HTH,
Kevin Spencer
..Net Developer
Microsoft MVP
Big things are made up
of lots of little things.

"Cowboy (Gregory A. Beamer)" <No************@comcast.netNoSpamM> wrote in
message news:ua**************@TK2MSFTNGP11.phx.gbl...
Background:
-------------
The idea started as a single sign on type of application. Having tested it
before, I knew we could institute single sign on using the same
Authentication Cookie name (in this case "AuthenticationCookie" -- yeah,
original, I know) and the same machine keys for the applications.

<authentication mode="Forms">
<forms name="AuthenticationCookie" path="/"
loginUrl="login.aspx" protection="All" timeout="10" />
</authentication>

<machineKey
validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB 8CB5CDA1742572A487D9401E34 00267682B202B746511891C1BAF47F8D25C07F6C39A104696D B51F17C529AD3CABE"
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3 799C77AF2B72F"
validation="3DES"
/>

When a user logs into one application, they can move back and forth between apps. And, the user uses the same session ID in both applications (confirmed by output of session ID), so it appears as if he is just moving from section to section in a single app, rather than moving back and forth between
multiple apps. Everything is fine and beautiful ... until today.

The Problem
-------------
I have a colleague who sets up everything in session variables. As his app
is complete already, moving away from Session variables will be too time
consuming to be a realistic solution. The problem is you cannot share
application variables across app boundaries like so:

APP 1: Session["PassedID"] = UserID;
APP 2: UserID = Convert.ToDecimal(Session["PassedID"]);

The one clue I have is the error messages states something about the wrong
namespace, which suggests to me that the namespace has to be used to pull
the variable. This would mean that there is another syntax to pull Session
vars, otther than:

UserID = Convert.ToDecimal(Session["PassedID"]);

In a nutshell: I need basic syntax to pull from same session, different
application (namespace).

My other ideas:

1. Store to some form of temporary persistant storage (XML File, SQL table, et al) and use Session ID to pass information back and forth.

2. Try the Caching Application Block and see if the Framework allows cross
application use of information.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

************************************************** *************
Think outside the box!
************************************************** *************

Nov 18 '05 #2
That is the direction I pushed: Create an object with 'void
SetSessionItem(string SessionID, string Key, string Value)', 'string
GetSessionItem(string SessionID, string Key)' and 'DataSet
GetAllSessionItems(string SessionID)'. You can then store in any persistant
storage (in this case Oracle, which is the client's standard).

The other developer still wants to set
'Session["AlltheStuffICanStickInSession"] = someGarbage;' in one app and
then use 'Object someGarbage = Session["AlltheStuffICanStickInSession"] ' on
the second app. So, if anyone figures out a way to solve this, I would love
a heads up.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

************************************************** ********************
Think Outside the Box!
************************************************** ********************
"Kevin Spencer" <ke***@takempis.com> wrote in message
news:O3**************@TK2MSFTNGP09.phx.gbl...
'sup Cowboy?

How about using SQL Server to store the Sessions, and then you should be
able to execute queries to get the Session values from the other app?

--
HTH,
Kevin Spencer
.Net Developer
Microsoft MVP
Big things are made up
of lots of little things.

"Cowboy (Gregory A. Beamer)" <No************@comcast.netNoSpamM> wrote in
message news:ua**************@TK2MSFTNGP11.phx.gbl...
Background:
-------------
The idea started as a single sign on type of application. Having tested it before, I knew we could institute single sign on using the same
Authentication Cookie name (in this case "AuthenticationCookie" -- yeah,
original, I know) and the same machine keys for the applications.

<authentication mode="Forms">
<forms name="AuthenticationCookie" path="/"
loginUrl="login.aspx" protection="All" timeout="10" />
</authentication>

<machineKey

validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB 8CB5CDA1742572A487D9401E34
00267682B202B746511891C1BAF47F8D25C07F6C39A104696D B51F17C529AD3CABE"
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3 799C77AF2B72F"
validation="3DES"
/>

When a user logs into one application, they can move back and forth

between
apps. And, the user uses the same session ID in both applications

(confirmed
by output of session ID), so it appears as if he is just moving from

section
to section in a single app, rather than moving back and forth between
multiple apps. Everything is fine and beautiful ... until today.

The Problem
-------------
I have a colleague who sets up everything in session variables. As his app is complete already, moving away from Session variables will be too time
consuming to be a realistic solution. The problem is you cannot share
application variables across app boundaries like so:

APP 1: Session["PassedID"] = UserID;
APP 2: UserID = Convert.ToDecimal(Session["PassedID"]);

The one clue I have is the error messages states something about the wrong namespace, which suggests to me that the namespace has to be used to pull the variable. This would mean that there is another syntax to pull Session vars, otther than:

UserID = Convert.ToDecimal(Session["PassedID"]);

In a nutshell: I need basic syntax to pull from same session, different
application (namespace).

My other ideas:

1. Store to some form of temporary persistant storage (XML File, SQL

table,
et al) and use Session ID to pass information back and forth.

2. Try the Caching Application Block and see if the Framework allows cross application use of information.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

************************************************** *************
Think outside the box!
************************************************** *************


Nov 18 '05 #3
Get rid of the other developer?

;-)

--
HTH,
Kevin Spencer
..Net Developer
Microsoft MVP
Big things are made up
of lots of little things.

"Cowboy (Gregory A. Beamer)" <No************@comcast.netNoSpamM> wrote in
message news:#N**************@TK2MSFTNGP10.phx.gbl...
That is the direction I pushed: Create an object with 'void
SetSessionItem(string SessionID, string Key, string Value)', 'string
GetSessionItem(string SessionID, string Key)' and 'DataSet
GetAllSessionItems(string SessionID)'. You can then store in any persistant storage (in this case Oracle, which is the client's standard).

The other developer still wants to set
'Session["AlltheStuffICanStickInSession"] = someGarbage;' in one app and
then use 'Object someGarbage = Session["AlltheStuffICanStickInSession"] ' on the second app. So, if anyone figures out a way to solve this, I would love a heads up.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

************************************************** ********************
Think Outside the Box!
************************************************** ********************
"Kevin Spencer" <ke***@takempis.com> wrote in message
news:O3**************@TK2MSFTNGP09.phx.gbl...
'sup Cowboy?

How about using SQL Server to store the Sessions, and then you should be
able to execute queries to get the Session values from the other app?

--
HTH,
Kevin Spencer
.Net Developer
Microsoft MVP
Big things are made up
of lots of little things.

"Cowboy (Gregory A. Beamer)" <No************@comcast.netNoSpamM> wrote in
message news:ua**************@TK2MSFTNGP11.phx.gbl...
Background:
-------------
The idea started as a single sign on type of application. Having tested
it before, I knew we could institute single sign on using the same
Authentication Cookie name (in this case "AuthenticationCookie" --
yeah, original, I know) and the same machine keys for the applications.

<authentication mode="Forms">
<forms name="AuthenticationCookie" path="/"
loginUrl="login.aspx" protection="All" timeout="10" />
</authentication>

<machineKey

validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB 8CB5CDA1742572A487D9401E34
00267682B202B746511891C1BAF47F8D25C07F6C39A104696D B51F17C529AD3CABE"
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3 799C77AF2B72F"
validation="3DES"
/>

When a user logs into one application, they can move back and forth

between
apps. And, the user uses the same session ID in both applications

(confirmed
by output of session ID), so it appears as if he is just moving from

section
to section in a single app, rather than moving back and forth between
multiple apps. Everything is fine and beautiful ... until today.

The Problem
-------------
I have a colleague who sets up everything in session variables. As his app is complete already, moving away from Session variables will be too time consuming to be a realistic solution. The problem is you cannot share
application variables across app boundaries like so:

APP 1: Session["PassedID"] = UserID;
APP 2: UserID = Convert.ToDecimal(Session["PassedID"]);

The one clue I have is the error messages states something about the wrong namespace, which suggests to me that the namespace has to be used to pull the variable. This would mean that there is another syntax to pull Session vars, otther than:

UserID = Convert.ToDecimal(Session["PassedID"]);

In a nutshell: I need basic syntax to pull from same session, different application (namespace).

My other ideas:

1. Store to some form of temporary persistant storage (XML File, SQL

table,
et al) and use Session ID to pass information back and forth.

2. Try the Caching Application Block and see if the Framework allows cross application use of information.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

************************************************** *************
Think outside the box!
************************************************** *************



Nov 18 '05 #4
I have a wild idea. how about this:

iterate thru the running applications on the webserver. this will bring back
a list of the running apps. get the attached application object assigned to
each app. with the application object, get the httpcontext object associated
with this, and on down thru to the session object. This is a similar
approach to finding a control in a page, except that it would be starting
with a running application.

There is one fly in the ointment. Classes and the methods are private, so
you could try changing the class specifier to public instead of private.
ya, i know. it's very ugly. but that would conceivably get you passed the
access issue without having to add new code to a completed project. i have
no idea if this will work or if it even makes sense, it's just a thought
requiring a brazen hack. but then again, you are an MVP.

--
Regards,
Alvin Bruney
Got DotNet? Get it here
http://home.networkip.net/dotnet/tidbits/default.htm
"Cowboy (Gregory A. Beamer)" <No************@comcast.netNoSpamM> wrote in
message news:%2****************@TK2MSFTNGP10.phx.gbl...
That is the direction I pushed: Create an object with 'void
SetSessionItem(string SessionID, string Key, string Value)', 'string
GetSessionItem(string SessionID, string Key)' and 'DataSet
GetAllSessionItems(string SessionID)'. You can then store in any persistant storage (in this case Oracle, which is the client's standard).

The other developer still wants to set
'Session["AlltheStuffICanStickInSession"] = someGarbage;' in one app and
then use 'Object someGarbage = Session["AlltheStuffICanStickInSession"] ' on the second app. So, if anyone figures out a way to solve this, I would love a heads up.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

************************************************** ********************
Think Outside the Box!
************************************************** ********************
"Kevin Spencer" <ke***@takempis.com> wrote in message
news:O3**************@TK2MSFTNGP09.phx.gbl...
'sup Cowboy?

How about using SQL Server to store the Sessions, and then you should be
able to execute queries to get the Session values from the other app?

--
HTH,
Kevin Spencer
.Net Developer
Microsoft MVP
Big things are made up
of lots of little things.

"Cowboy (Gregory A. Beamer)" <No************@comcast.netNoSpamM> wrote in
message news:ua**************@TK2MSFTNGP11.phx.gbl...
Background:
-------------
The idea started as a single sign on type of application. Having tested
it before, I knew we could institute single sign on using the same
Authentication Cookie name (in this case "AuthenticationCookie" --
yeah, original, I know) and the same machine keys for the applications.

<authentication mode="Forms">
<forms name="AuthenticationCookie" path="/"
loginUrl="login.aspx" protection="All" timeout="10" />
</authentication>

<machineKey

validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB 8CB5CDA1742572A487D9401E34
00267682B202B746511891C1BAF47F8D25C07F6C39A104696D B51F17C529AD3CABE"
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3 799C77AF2B72F"
validation="3DES"
/>

When a user logs into one application, they can move back and forth

between
apps. And, the user uses the same session ID in both applications

(confirmed
by output of session ID), so it appears as if he is just moving from

section
to section in a single app, rather than moving back and forth between
multiple apps. Everything is fine and beautiful ... until today.

The Problem
-------------
I have a colleague who sets up everything in session variables. As his app is complete already, moving away from Session variables will be too time consuming to be a realistic solution. The problem is you cannot share
application variables across app boundaries like so:

APP 1: Session["PassedID"] = UserID;
APP 2: UserID = Convert.ToDecimal(Session["PassedID"]);

The one clue I have is the error messages states something about the wrong namespace, which suggests to me that the namespace has to be used to pull the variable. This would mean that there is another syntax to pull Session vars, otther than:

UserID = Convert.ToDecimal(Session["PassedID"]);

In a nutshell: I need basic syntax to pull from same session, different application (namespace).

My other ideas:

1. Store to some form of temporary persistant storage (XML File, SQL

table,
et al) and use Session ID to pass information back and forth.

2. Try the Caching Application Block and see if the Framework allows cross application use of information.

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

************************************************** *************
Think outside the box!
************************************************** *************



Nov 18 '05 #5

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

Similar topics

3
by: Dave Ainslie | last post by:
How do I send session variables between two web directories? I have two sites on my web server I wish to send cookies between. Thanks in advance Dave
2
by: PeteZ | last post by:
Hi, I was of the understanding that Session variables were GLOBALLY scoped across all Applications on a specific web site and that data obtained and stored in "variables" were available for...
6
by: Nedu N | last post by:
Hi, I am trying to design a Home page for my applicatiion in which i want show the links for for some itms... I tried to put the following <td> <font face="Arial, Helvetica, sans-serif" ...
3
by: grooby | last post by:
I would like to develop an asp.net Web application using muliple web projects under one solution file and share the session information between web applications( or projects). Is this possible?
3
by: Mothish K | last post by:
Hello, I am trying to connect 2 of my asp.net applications using context.items collections to share the variables. but it says Could not load type 'Proj2.SignIn'. I have set the...
3
by: Martin Lee | last post by:
I'm looking to carry the session across from one ASP.Net application to another. I'm currently using SQL Server to store session state information. What would be the best way of doing this? ...
4
by: W Akthar | last post by:
Hi, I need to pass session state variables across different web applications. Firstly is this possible and secondly can someone show me how please??
5
by: Oleg Ogurok | last post by:
Hi all, Is there a way to read other people's session variables? I understand it makes sense that session state is on per-user basis, but still... Is there a way to get a collection of all...
18
by: BillE | last post by:
When a user opens a new IE browser window using File-New-Window the integrity of an application which relies on session state is COMPLETELY undermined. Anyone who overlooks the fact that...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
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
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

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.