Multiple sites sharing single web.config file

G

Guest

Hello

I would like to have several sites share a single web.config file. To accomplish this, I would point the root of these sites to the same folder. Is there any reason why I might not want to do this? (IIS 5 or 6

In case you're wondering why I would do this, we have many web sites on a single server, and there are groups of sites that need to share common configuration information. I'd like to ease some administration by having one web.config file for each of these "site groupings". There may be many "site groupings", so I cannot use the machine.config file

An interesting side question: assuming that I do the above, is it ok to have several web applications sharing a single bin folder? If that is an OK solution, then I just might be able to avoid using the gac, any thoughts on that

Thanks
BPearson
 
G

Guest

I have never tried it, but you should be able to specify particular items using the <location> element in the machine.config file. In there, you can specify which locations those particular settings apply to, and the rest of the sites on that server will ignore that section.
 
M

Marshal Antony

Hi BPearson,
I think it is important for you to understand how multiple Web.config
files can appear in multiple directories on a ASP.NET Web application
server.
Each Web.config file applies configuration settings to its own
directory and all the sub directories below it.Web.config files in sub
directories can supply configuration
information in addition to that inherited from parent directories, and the
sub directory configuartion settings can modify or override settings defined
in parent directories.
What you need to do is,
Make your groupings based on directory structure.
For example if you have database connection information
affecting all the web applications you put that key in the Web.config file
in the parent directory in the highest
level of the web site so that all the sub directories(up to the lowest
hierarchy in the directory structure) can inherit that information.
But in some cases for some web applications you need
to override the configuation settings in the root directory or put new
settings,so put that in the directory of that application so that
all the sub directories under it can make use of it(these sub directories
can be associated with it's own iis applications),you may call it a group.
You don't need to have several web applications
sharing the same bin folder,as you create more and more applications this
will be tedious to manage and
if that iis application goes down, lot of your web applications will stop
working.
You can have a web application with its own virtual
directory and bin folder,but you can still inherit the configuration
information from the parent directories.
If your application runs on Windows 2003 you can take
advantage of using application pools and configure each application on its
own worker process that
provides process-level isolation.This isolation is very good because if
something happens to the application pool only that web application(s) is
affected.

Hope this helps.
Regards,
Marshal Antony
..NET Developer
http://www.dotnetmarshal.com





BPearson said:
Hello,

I would like to have several sites share a single web.config file. To
accomplish this, I would point the root of these sites to the same folder.
Is there any reason why I might not want to do this? (IIS 5 or 6)
In case you're wondering why I would do this, we have many web sites on a
single server, and there are groups of sites that need to share common
configuration information. I'd like to ease some administration by having
one web.config file for each of these "site groupings". There may be many
"site groupings", so I cannot use the machine.config file.
An interesting side question: assuming that I do the above, is it ok to
have several web applications sharing a single bin folder? If that is an OK
solution, then I just might be able to avoid using the gac, any thoughts on
that?
 
G

Guest

Thank you for the reply. I do understand the cascading nature of the config files - but here is my dilemna:

machine.config allows me to specify configs that apply to the entire machine.
web.config allows me to specify configs that apply to one web site (or to more granular directories/virtual directories below).

BUT, I need something in between. I want a config file that will apply to x web sites on the machine.

eg - I need a multiweb.config that allows me to specify configs for web sites X, Y, and Z. I might have 1000 websites on a machine, and I need one config file that applies to 100 of them, another config that applies to another 200 and so on. Having web applications below the website level is not good enough, each web application must be a separate web site.

In my original post, I've gave a description of how I want to accomplish this, and I can't think of any negative consequences .... does anyone out there know of some reason why my proposed solution to this problem will not work? Or maybe someone knows that this is OK to do, and wants to say "go for it!"?

Thanks!
BPearson

----- Marshal Antony wrote: -----

Hi BPearson,
I think it is important for you to understand how multiple Web.config
files can appear in multiple directories on a ASP.NET Web application
server.
Each Web.config file applies configuration settings to its own
directory and all the sub directories below it.Web.config files in sub
directories can supply configuration
information in addition to that inherited from parent directories, and the
sub directory configuartion settings can modify or override settings defined
in parent directories.
What you need to do is,
Make your groupings based on directory structure.
For example if you have database connection information
affecting all the web applications you put that key in the Web.config file
in the parent directory in the highest
level of the web site so that all the sub directories(up to the lowest
hierarchy in the directory structure) can inherit that information.
But in some cases for some web applications you need
to override the configuation settings in the root directory or put new
settings,so put that in the directory of that application so that
all the sub directories under it can make use of it(these sub directories
can be associated with it's own iis applications),you may call it a group.
You don't need to have several web applications
sharing the same bin folder,as you create more and more applications this
will be tedious to manage and
if that iis application goes down, lot of your web applications will stop
working.
You can have a web application with its own virtual
directory and bin folder,but you can still inherit the configuration
information from the parent directories.
If your application runs on Windows 2003 you can take
advantage of using application pools and configure each application on its
own worker process that
provides process-level isolation.This isolation is very good because if
something happens to the application pool only that web application(s) is
affected.

Hope this helps.
Regards,
Marshal Antony
..NET Developer
http://www.dotnetmarshal.com





BPearson said:
accomplish this, I would point the root of these sites to the same folder.
Is there any reason why I might not want to do this? (IIS 5 or 6)single server, and there are groups of sites that need to share common
configuration information. I'd like to ease some administration by having
one web.config file for each of these "site groupings". There may be many
"site groupings", so I cannot use the machine.config file.have several web applications sharing a single bin folder? If that is an OK
solution, then I just might be able to avoid using the gac, any thoughts on
that?
 
M

Marshal Antony

Hi Bpearson,
I think as David pointed out you can do it by the location element
in the machine.config.
You may need to use the allowOverride="false" for the location element.
Also there is a location element in the Web.config which you can make use as
well in some cases.
Here is a link which explains it clearly.
http://support.microsoft.com/default.aspx?scid=kb;EN-US;815174
Hope this helps.
Regards,
Marshal Antony
..NET eveloper
http://www.dotnetmarshal.com




BPearson said:
Thank you for the reply. I do understand the cascading nature of the
config files - but here is my dilemna:
machine.config allows me to specify configs that apply to the entire machine.
web.config allows me to specify configs that apply to one web site (or to
more granular directories/virtual directories below).
BUT, I need something in between. I want a config file that will apply to x web sites on the machine.

eg - I need a multiweb.config that allows me to specify configs for web
sites X, Y, and Z. I might have 1000 websites on a machine, and I need one
config file that applies to 100 of them, another config that applies to
another 200 and so on. Having web applications below the website level is
not good enough, each web application must be a separate web site.
In my original post, I've gave a description of how I want to accomplish
this, and I can't think of any negative consequences .... does anyone out
there know of some reason why my proposed solution to this problem will not
work? Or maybe someone knows that this is OK to do, and wants to say "go
for it!"?
 
M

Maxim Kazitov

You can try to use "junction" utility from http://www.sysinternals.com


BPearson said:
Hello,

I would like to have several sites share a single web.config file. To
accomplish this, I would point the root of these sites to the same folder.
Is there any reason why I might not want to do this? (IIS 5 or 6)
In case you're wondering why I would do this, we have many web sites on a
single server, and there are groups of sites that need to share common
configuration information. I'd like to ease some administration by having
one web.config file for each of these "site groupings". There may be many
"site groupings", so I cannot use the machine.config file.
An interesting side question: assuming that I do the above, is it ok to
have several web applications sharing a single bin folder? If that is an OK
solution, then I just might be able to avoid using the gac, any thoughts on
that?
 

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,744
Messages
2,569,484
Members
44,905
Latest member
Kristy_Poole

Latest Threads

Top