Single vs multiple IIS application roots

C

Carl Johansen

I have a big ASP website (used by several thousand car dealers) that is a
collection of lots of small and medium-sized applications. Now I want to
start adding ASP.NET applications to it. I have read Q307467 (How To Create
an ASP.NET Application from Multiple Projects for Team Development) and it
seems to work well. I understand that when you create a web project in
VS.NET, it creates an IIS application root, and that you can remove this
root from IIS to make the project a "child" project of the root project.
When you do this, you can share Session and Application variables between
pages in the various projects.

But I can't decide whether my whole website should be under a single IIS
application root, or whether I should have a root for each project. I would
like to be able to share Application variables amongst all the applications,
but is having a single root the only way to accomplish this? I don't need
to share Session variables between applications. Over time I will build up
lots of applications so I could have lots of application roots. I've been
trying to figure out the pros and cons. Here's what I've thought of:

* Multiple application roots would mean more overhead for the IIS server.
Is this a big concern?
* Multiple application roots is the default behaviour of VS.NET.
* I need to find a way to share Application variables if I use multiple
roots.
* Each application root has its own settings, so difficult to keep control
over ASP timeout, session timeout, etc, if you have many roots.

I am wondering: WWMD (What Would Microsoft Do)?


Thanks very much,
Carl Johansen
http://www.carljohansen.co.uk
 
S

Shimon Sim

I would look on this logically - forget about implementation - is it one
application or it is a lot of different applications?
why would you want to have a lot of different application? You have them
like this now- Why?

The are a lot of reasons to have one application instead of multiple but
what are your requirements?

Shimon
 
C

Carl Johansen

Hi Shimon,

Thanks for your reply. I guess my problem is that I'm not sure what is
meant by "application". It seems to mean different things in different
systems and contexts. To take a bad analogy: is Windows an "application"?
If it is, then what do you call Notepad? A "sub-application"? In this
analogy my website is like Windows and the individual applications are like
Notepad. I want some global data to be available to all applications. I
guess that's my only real requirement.
why would you want to have a lot of different application? You have them
like this now- Why?
Actually, right now I have only ASP pages. And they are all in a single IIS
application root, and it works fine. They are not "different applications"
in the IIS sense of the term.

Thanks again,
Carl
 
S

Shimon Sim

Application, as I understand it, is Notepad. You can run 2 instances of
notepad but it is one application.
Anyway,
The only way to share information between Web applications is to have some
persistence - SQL Server, MS Access, file(s).

when choosing sharing make sure that you don't kill your performance.
If information is read-only or almost never changes look into cashing and
you can use file. If it changes you can use MS Access if you don't have too
many users. And SQL Server everything else.

All the best,
Shimon.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,226
Members
46,815
Latest member
treekmostly22

Latest Threads

Top