Can I have multiple web.config files in a single web project?
You can have multiple configuration files in your project at the same level too. We do it like this. We have one main configuration file (Web.Config
), then we have two more configurations files. App.Config
and Database.Config
. in App.Config
we defined all the application level settings. in Database.Config
we define all the database level settings. And in Web.Config
we refer App.Config and Database.Config like this:
<appSettings configSource="app.config">
</appSettings>
<connectionStrings configSource="database.config">
</connectionStrings>
Also , you can have multiple web.config files in sub directories. Settings will be override automatically by asp.net.
Yes you can have two web.config files in application. There are situations where your application is divided in to modules and for every module you need separate configuration.
For example if you have a application which has two modules lets say accounts and sales. You will create both these modules in a separate folder with each folder having separate config files.
Please do watch this facebook video which explains the same in a very demonstrative manner. Click here to watch , why do we need 2 web.config files in a application
You can have one for the entire website configuration (framework that you are using, additional dependencies , etc.) in the root project. You can also have another web.config files in sub directories. this one is usually used to provide access rules for each folder, like the "Admin" folder can only be accessed for users in admin role...
If you want to have multiples websites configuration you must create multiples "applications" , this way each one must have its web.config file.