problem in multi-user asp.net - DOTNET
This is a discussion on problem in multi-user asp.net - DOTNET ; Hi All
I am developing one Portfolio Management application where there is
single database shared by all the traders.
I have developed web-based application for this. I want to make this
multiuser application.
Following is the architecture of the application ...
-
problem in multi-user asp.net
Hi All
I am developing one Portfolio Management application where there is
single database shared by all the traders.
I have developed web-based application for this. I want to make this
multiuser application.
Following is the architecture of the application ...
Front End is developed in WebForms
Business Layerm : Represented by one Object
Database Layer : Represented by one Object
and Actual Database : SQL Server
Now, when I open two browser window and open Main-Entry form in both the
windows.
Now, when I deleted one transaction in one window and it gets updated in
database and that page gets refreshed and shows updated data.
now, in the second browser-window still there is stale data, now when i
select the same transactions which i deleted in the first window it
throws me error. it says that row is no longer there. That means DataSet
is shared by both the pages.
How, can I avoid that so that every opening of new windows gets its own
dataset ? or some log-in mechanisam which creates different session for
every user ...
I want to seperate out the user from each other so that individual user
can work on its own set of dataset ..
My Business Logic Layer and DbLogic Layer are seperate projects. Both
the layers are represented by one Object which i get from Factory pattern...
Following is the object creation sequence :
So invocation of Entry-Main Form.aspx creates one business object - >
business object inturn create dbutil object - > db util has dataset
within it which stores data coming out from stored procedure ...
Silent Ocean ...
-
RE: problem in multi-user asp.net
Could be caused by a number of different things... Static objects are shared
across instances, so don't declare your datasets as static. Remember that
the cache is common to all users and the session is individual to each user.
If you store a dataset in the cache and then pass a reference to it to two
different users, they will be working on the same object. When a client
requests data, you should create a new dataset (typed is always easier to
create and use), have your database logic layer fill it from the database,
and then store it in the session to make it available across postbacks for
that user. Or, if you wish to reduce load on the database, you can create a
cache data layer that stores a local copy of the data in the cache. The
cache logic will return data from the cache, if available, or pass calls
through to the datbase layer if it is not. In order to 'unshare' data in
this shared cache, you can return a copy in the form of a dataview
(DataSet.DataTable.DefaultView.Copy())...
"Deep Silent Ocean" wrote:
> Hi All
>
> I am developing one Portfolio Management application where there is
> single database shared by all the traders.
>
> I have developed web-based application for this. I want to make this
> multiuser application.
>
> Following is the architecture of the application ...
>
> Front End is developed in WebForms
>
> Business Layerm : Represented by one Object
> Database Layer : Represented by one Object
> and Actual Database : SQL Server
>
>
> Now, when I open two browser window and open Main-Entry form in both the
> windows.
>
>
> Now, when I deleted one transaction in one window and it gets updated in
> database and that page gets refreshed and shows updated data.
>
>
> now, in the second browser-window still there is stale data, now when i
> select the same transactions which i deleted in the first window it
> throws me error. it says that row is no longer there. That means DataSet
> is shared by both the pages.
>
> How, can I avoid that so that every opening of new windows gets its own
> dataset ? or some log-in mechanisam which creates different session for
> every user ...
>
>
> I want to seperate out the user from each other so that individual user
> can work on its own set of dataset ..
>
>
> My Business Logic Layer and DbLogic Layer are seperate projects. Both
> the layers are represented by one Object which i get from Factory pattern...
>
> Following is the object creation sequence :
>
> So invocation of Entry-Main Form.aspx creates one business object - >
> business object inturn create dbutil object - > db util has dataset
> within it which stores data coming out from stored procedure ...
>
>
> Silent Ocean ...
>
Similar Threads
-
By Application Development in forum Clarion
Replies: 0
Last Post: 10-01-2007, 07:25 AM
-
By Application Development in forum Pegasus
Replies: 4
Last Post: 01-24-2006, 02:57 PM
-
By Application Development in forum DOTNET
Replies: 1
Last Post: 10-10-2005, 06:03 AM
-
By Application Development in forum Java
Replies: 0
Last Post: 09-06-2005, 01:36 PM
-
By Application Development in forum Clarion
Replies: 0
Last Post: 08-22-2005, 12:23 AM