Я заметил, что в стандартной структуре веб-папок IIS часто есть папка aspnet_client. Для чего это используется? Это нужно?
108
В .NET 1.1 дней и ранее эта папка предоставляла ASP.NET поддержку JavaScript для элементов управления проверкой и других функций. Если у вас нет сайта .NET 1.1 или более ранней версии, его можно безопасно удалить. Я бы сначала переименовал его, чтобы убедиться, что он не вызывает никаких проблем.
В дополнение к тому, что говорили другие, он обычно создается инструментом aspnet_regiis, который может быть (повторно) запущен такими вещами, как Центр обновления Windows / AddRemove Windows components / IIS. Так что иногда, даже если вы удалите его, он может вернуться случайным образом. Может быть способ остановить это поведение, но я его не нашел (возможно, изменение версии приложения на .NET 2 действительно поможет).
Поэтому, если вы не используете определенные функции .NET 1.0 / 1.1 (проверка, интеллектуальная навигация и т. Д.), Вы можете удалить его без каких-либо проблем, просто не удивляйтесь, если он вернется!
источник
aspnet_client - это папка для «ресурсов, которые должны обслуживаться через HTTP, но устанавливаются для каждого сервера, а не для каждого приложения».
Некоторые из применений aspnet_client включают хранение ресурсов (например, JavaScript, изображений) для:
Вероятно, в будущем эта папка будет использоваться / будет использоваться в дальнейшем. Излишне говорить, что, поскольку он содержит вещи, которые «необходимы для правильной работы приложения», но которые «не должны развертываться приложением», он останется чем-то вроде кошмара как для разработчиков, так и для системных администраторов.
Кажется, что «прототип» содержимого папки находится в C: \ inetpub \ wwwroot \, и кажется разумным предположить, что если на каком-либо конкретном веб-сайте IIS отсутствует ресурс / aspnet_client, тогда IIS попытается поступить правильно. и ... в крайнем случае ... создайте физическую папку в корневой папке веб-сайта и скопируйте туда файлы. Кажется, что IIS будет делать это, по крайней мере, когда "ASPNET_regiis / c" вызывается на данном сервере, что, вероятно, происходит автоматически в некоторых критических точках ... например, когда обновления .NET framework применяются к серверу, который имеет роль IIS.
Стратегии обработки каталога aspnet_client включают: * указание виртуального каталога, сопоставленного с C: \ inetpub \ wwwroot, в надежде, что IIS откажется от создания физического каталога; * удаление физического каталога время от времени, если вы уверены, что ваш сайт этого не делает. он вам не нужен, и вас это действительно беспокоит * игнорирование aspnet_client *, запускающего "ASPNET_regiis / c" самостоятельно, если вам не хватает папки и она нужна
Вероятно, наиболее важно то, что как разработчик вы должны четко понимать и задокументировать зависимости ваших приложений от каталога aspnet_client, а также убедиться, что в вашей процедуре установки есть соответствующие инструкции, чтобы убедиться, что каталог существует. Однако вам, вероятно, не стоит беспокоиться о том, чтобы фактически предоставлять каталог как часть вашего упакованного веб-приложения или веб-сайта - как вы могли бы сделать это для каждой версии .NET framework, которую сервер будет видеть в течение всего срока службы вашего приложения ?!
Некоторые ссылки, к которым я вернусь позже:
источник
В нем также есть определенные значки и скрипты, которые необходимы для правильной работы отчетов Crystal даже в версиях ниже 1.1.
источник
C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13
Не уверен, правильно ли это было или нет, но я просто скопировал всю папку aspnet_client из корня в каталог, в котором жил мой экземпляр Ripplestone.Папка обычно предназначена для хранения Javascript на стороне клиента, который ASP.NET использует для таких вещей, как проверка.
Удаление должно быть безопасным.
источник
Подумал, что я добавлю это здесь, так как это ссылка, на которую меня постоянно направляли, когда я задавал этот вопрос в Google. Очевидно, с .NET 4.0 и новее эта папка больше не нужна, и ее можно без проблем удалить.
источник
Если вы используете Installshield для настройки веб-сайта ASP.net, имейте в виду, что эта функция присутствовала в Installshield 2010 и отсутствует в Installshield 2012.
источник