ASP.NET VS2010 Стоимость ресурсов дополнительного приложения - PullRequest
1 голос
/ 05 октября 2010

Я подумывал о том, чтобы в моем asp.net (4.0 C #) веб-приложении (с использованием того же пула приложений) было вложенное «веб-приложение».Например, для приложения для блога, чтобы я мог хранить его отдельно.

  1. Сколько дополнительных ресурсов сервера занимает субприложение?Или, скорее, сколько ресурсов (исключая пул приложений) занимает веб-приложение?
  2. Как я могу наследовать от родительских веб-приложений web.config.

Примечание: я рассматриваюиметь 10 под-приложений на веб-сайт (ну, на самом деле, веб-приложение) и хотел бы знать, приведет ли это к большой потере ресурсов или нет.

Спасибо, Дэн.

1 Ответ

0 голосов
/ 05 октября 2010

Это зависит от того, как ведут себя эти веб-приложения, сколько памяти они используют и какой объем трафика на них попадает.

Каждое приложение будет находиться в своем собственном домене приложений. Неактивное приложение может потреблять всего несколько килобайт памяти. Но если это кеширование данных или выделение большого количества памяти, это может привести к всплеску. Я думаю, что вам нужно профилировать эти приложения в различных сценариях, чтобы иметь возможность точно прогнозировать эти показатели.

Что касается наследования настроек 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...