Connecting Tech Pros Worldwide Forums | Help | Site Map

multiple applications, same files...

Sean
Guest
 
Posts: n/a
#1: Nov 18 '05
I have an ASP.NET web application that needs to be rolled out to a
number of clients.
The functionality is the same in all applications, but each client has
its own database.

At the moment, I have one application per client, but most of the
files in the applications are the same, so this is not ideal from a
maintenance point of view.

The only differences between the client applications are:

- Different XML files related to each client
- Different database connection string
- Different application settings

All these differences can be handled from the web.config file.

I want an alternative solution that will reuse the common files, while
running each client's files as a separate application, under the
control of a separate web.config file.

Having a different application for each client allows for security
management across client apps, e.g.:

If I request a file with the URL:

http://www.myapp.com/client1/logon.aspx

I will log on to the application, and then browse to...

http://www.myapp.com/client1/home.aspx

and see content related to client 1.


And if I then request a file with the URL:

http://www.myapp.com/client2/home.aspx

the application will then detect that the user does not have an active
session variable for Client2 and will redirect to Client2/logon.aspx

Recoding of the application or consolidating the databases are not
options at this stage.

Can IIS handle this type of scenario, if so how do I set up my
applications in IIS to implement this?

TIA.

Marina
Guest
 
Posts: n/a
#2: Nov 18 '05

re: multiple applications, same files...


This is what I would recommend. Have one directory with your application.
Have separate web.config settings for each client. Such as:

client1XMLFile
client1DBConnString
client2XMLFile
Client2DBConnString

and so on. Basically, have all the settings for all the clients in there,
and the names of the keys have the name of the client (or some sort of ID
that you assigned to the client).

Then have a separate virtual directory for each client. Have IIS redirect
to the real applications logon.aspx, and pass in the id of client. So
redirect to http://www.myapp.com/myapplication/l...spx?id=client1 if
someone browses to http://www.myapp.com/client1.

Now,your application can be modified to look in the query string, and maybe
set a session variable, or something else, to basically have this person
treated as client1 the entire time - and to read the appropriate settings
from web.confg.

Does this make sense?

"Sean" <stynan@missionmaker.com> wrote in message
news:cfff1f88.0404140907.20432c2e@posting.google.c om...[color=blue]
> I have an ASP.NET web application that needs to be rolled out to a
> number of clients.
> The functionality is the same in all applications, but each client has
> its own database.
>
> At the moment, I have one application per client, but most of the
> files in the applications are the same, so this is not ideal from a
> maintenance point of view.
>
> The only differences between the client applications are:
>
> - Different XML files related to each client
> - Different database connection string
> - Different application settings
>
> All these differences can be handled from the web.config file.
>
> I want an alternative solution that will reuse the common files, while
> running each client's files as a separate application, under the
> control of a separate web.config file.
>
> Having a different application for each client allows for security
> management across client apps, e.g.:
>
> If I request a file with the URL:
>
> http://www.myapp.com/client1/logon.aspx
>
> I will log on to the application, and then browse to...
>
> http://www.myapp.com/client1/home.aspx
>
> and see content related to client 1.
>
>
> And if I then request a file with the URL:
>
> http://www.myapp.com/client2/home.aspx
>
> the application will then detect that the user does not have an active
> session variable for Client2 and will redirect to Client2/logon.aspx
>
> Recoding of the application or consolidating the databases are not
> options at this stage.
>
> Can IIS handle this type of scenario, if so how do I set up my
> applications in IIS to implement this?
>
> TIA.[/color]


Sean Tynan
Guest
 
Posts: n/a
#3: Nov 18 '05

re: multiple applications, same files...


Thanks for your feedback Marina,

I can see how that would work, however i am trying to find a solution that
leverages the web.configs and existing security in ASP.NET
I want http://www.myapp.com/client1/home.aspx and
http://www.myapp.com/client2/home.aspx
to run as different applications, although the same files are being
referenced.
I know that the URL determines which web.config file to use, so with the
correct setup of virtual directories, it should be possible?
If not, ill try your solution.

Thanks again.

"Marina" <someone@nospam.com> wrote in message
news:Opt1nPkIEHA.2480@tk2msftngp13.phx.gbl...[color=blue]
> This is what I would recommend. Have one directory with your application.
> Have separate web.config settings for each client. Such as:
>
> client1XMLFile
> client1DBConnString
> client2XMLFile
> Client2DBConnString
>
> and so on. Basically, have all the settings for all the clients in there,
> and the names of the keys have the name of the client (or some sort of ID
> that you assigned to the client).
>
> Then have a separate virtual directory for each client. Have IIS redirect
> to the real applications logon.aspx, and pass in the id of client. So
> redirect to http://www.myapp.com/myapplication/l...spx?id=client1 if
> someone browses to http://www.myapp.com/client1.
>
> Now,your application can be modified to look in the query string, and[/color]
maybe[color=blue]
> set a session variable, or something else, to basically have this person
> treated as client1 the entire time - and to read the appropriate settings
> from web.confg.
>
> Does this make sense?
>
> "Sean" <stynan@missionmaker.com> wrote in message
> news:cfff1f88.0404140907.20432c2e@posting.google.c om...[color=green]
> > I have an ASP.NET web application that needs to be rolled out to a
> > number of clients.
> > The functionality is the same in all applications, but each client has
> > its own database.
> >
> > At the moment, I have one application per client, but most of the
> > files in the applications are the same, so this is not ideal from a
> > maintenance point of view.
> >
> > The only differences between the client applications are:
> >
> > - Different XML files related to each client
> > - Different database connection string
> > - Different application settings
> >
> > All these differences can be handled from the web.config file.
> >
> > I want an alternative solution that will reuse the common files, while
> > running each client's files as a separate application, under the
> > control of a separate web.config file.
> >
> > Having a different application for each client allows for security
> > management across client apps, e.g.:
> >
> > If I request a file with the URL:
> >
> > http://www.myapp.com/client1/logon.aspx
> >
> > I will log on to the application, and then browse to...
> >
> > http://www.myapp.com/client1/home.aspx
> >
> > and see content related to client 1.
> >
> >
> > And if I then request a file with the URL:
> >
> > http://www.myapp.com/client2/home.aspx
> >
> > the application will then detect that the user does not have an active
> > session variable for Client2 and will redirect to Client2/logon.aspx
> >
> > Recoding of the application or consolidating the databases are not
> > options at this stage.
> >
> > Can IIS handle this type of scenario, if so how do I set up my
> > applications in IIS to implement this?
> >
> > TIA.[/color]
>
>[/color]


Closed Thread