Это зависит от того, как ведут себя эти веб-приложения, сколько памяти они используют и какой объем трафика на них попадает.
Каждое приложение будет находиться в своем собственном домене приложений. Неактивное приложение может потреблять всего несколько килобайт памяти. Но если это кеширование данных или выделение большого количества памяти, это может привести к всплеску. Я думаю, что вам нужно профилировать эти приложения в различных сценариях, чтобы иметь возможность точно прогнозировать эти показатели.
Что касается наследования настроек web.config, просто добавьте web.config к каждому приложению, чтобы предоставить специфичные для приложения настройки. Вам нужно остерегаться таких вещей, как custom HttpModules
и HttpHandlers
, которые ваше корневое приложение может использовать, но ваши подпрограммы - нет. Вам может понадобиться добавить теги <remove>
или <clear>
, где это необходимо, чтобы предотвратить попытки ASP.NET загрузить эти несуществующие обработчики в ваши приложения.
Чтобы ответить на вопросы в вашем комментарии:
Таким образом, в основном подпрограмма будет потреблять столько же ресурсов, сколько запрограммировано. Имеет ли приложение + домен приложения минимальную потребность в ресурсах при использовании?
Я не могу дать точную цифру для минимального объема служебной информации приложения + служебной области приложения, но она может составлять всего 4-5 КБ в зависимости от размера приложения и любых предварительных распределений памяти, которые оно выполняет.
Кроме того, если у меня есть строка подключения в родительском web.config
, будет ли она наследоваться в дополнительном приложении?
Строки подключения будут наследоваться по умолчанию. Если вы используете ASP.NET 4.0 и если есть целые разделы родительского web.config
, которые вы не хотите наследовать, вы можете использовать тег <location>
вместе с атрибутом inheritInChildApplications
:
Элемент местоположения (схема настроек ASP.NET)
Как остановить наследование файлов Web.Config