Я замечаю, что часто существует папка aspnet_client в стандартной структуре веб-папок IIS. Для чего это используется? Это необходимо?
Что такое папка aspnet_client для структуры IIS?
Ответ 1
В .NET 1.1 днях и ранее эта папка предоставила ASP.NET поддержку JavaScript для элементов проверки и других функций. Если у вас нет сайта .NET 1.1 или старше, его следует удалить. Я бы сначала переименовал его, чтобы убедиться, что это не вызывает никаких проблем.
Ответ 2
В дополнение к тому, что говорили другие, он обычно создается инструментом aspnet_regiis, который может быть (повторно) запущен такими вещами, как компоненты Windows Update/AddRemove Windows/IIS. Поэтому иногда даже если вы удаляете его, он может вернуться случайно. Возможно, есть способ остановить это поведение, но я его не нашел (возможно, изменение версии приложения на .NET 2 сделало бы это на самом деле).
Поэтому, если вы не используете определенные функции .NET 1.0/1.1 (проверка, интеллектуальная навигация и т.д.), вы можете удалить его без каких-либо проблем, просто не удивляйтесь, если он вернется!
Ответ 3
aspnet_client - это папка для "ресурсов, которые должны обслуживаться через HTTP, но устанавливаются для каждого сервера, а не для каждого приложения".
Некоторые из использования aspnet_client включают хранение ресурсов (например, JavaScript, изображений) для:
- JavaScript для элементов управления ASP.NET Web Forms при использовании проверки на стороне клиента (в основном, для обработки старых браузеров, таких как IE5, похоже)
- ASP.NET 2.0 (до версии 4.0) для "Глобальных тем" (глобально для всех сайтов на сервере, то есть)
- некоторые версии Crystal Reports
Вероятно, в будущем будет/будет использоваться (ab) использование этой папки. Разумеется, поскольку в нем содержатся вещи, которые "необходимы для правильного запуска приложения", но которые "не должны быть развернуты приложением", это останется чем-то вроде кошмара для разработчиков и системных администраторов.
Кажется, что 'prototype' для содержимого папки находится в 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, которую сервер увидит в течение всего срока действия вашего приложения?!
Некоторые ссылки, на которые я вернусь позже:
- http://my.safaribooksonline.com/book/certification/mcts/9780735657489/2dot-using-master-pages-themes-and-caching/ch02s03_html?query=((aspnet_client))&reader=html&imagepage=#snippet
- Что такое папка aspnet_client на моем веб-сайте ASP.NET?
- путь к iis для каталога глобальных тем http://my.safaribooksonline.com/book/web-development/microsoft-aspdotnet/0735621772/aspdotnet-configuration/111?query=((aspnet_client))#X2ludGVybmFsX0J2ZGVwRmxhc2hSZWFkZXI/eG1saWQ9MDczNTYyMTc3Mi8xMTE=
- http://my.safaribooksonline.com/book/web-development/microsoft-aspdotnet/9780471785989/working-with-themes/ch41lev1sec8?query=((aspnet_client))&reader=html&imagepage=#X2ludGVybmFsX0h0bWxWaWV3P3htbGlkPTk3ODA0NzE3ODU5ODklMkZjaDQxbGV2MnNlYzEwJnF1ZXJ5PSgoYXNwbmV0X2NsaWVudCkp
- http://my.safaribooksonline.com/book/web-development/microsoft-aspdotnet/067232542x/performing-form-validation-with-validation-controls/ch03lev1sec1?query=((aspnet_client))&reader=html&imagepage=#snippet
- http://scn.sap.com/thread/3157366
Ответ 4
В нем также есть определенные значки и скрипты, необходимые для корректной работы отчетов о кристаллах даже в версиях ниже 1.1
Ответ 5
Обычно папка хранит Javascript на стороне клиента, который ASP.NET использует для таких вещей, как проверка.
Безопасно удалять.
Ответ 6
Полагаю, что я добавил бы это здесь, поскольку это ссылка, на которую я постоянно обращался, когда я искал этот вопрос. По-видимому, с .NET 4.0 и новее эта папка больше не нужна и может быть удалена без проблем.