我注意到标准IIS Web文件夹结构下经常有一个aspnet_client文件夹。这是用来做什么的?需要吗?
答案 0 :(得分:87)
在.NET 1.1及以前版本中,此文件夹为ASP.NET提供了对验证控件和其他功能的JavaScript支持。如果您没有运行.NET 1.1站点或更早版本,则删除它应该是安全的。我会先重命名,以确保它不会造成任何问题。
答案 1 :(得分:64)
除了其他人所说的,它通常由aspnet_regiis工具创建,该工具可以由Windows Update / AddRemove Windows组件/ IIS等(重新)运行。因此有时即使你删除它,它也可以随机返回。可能有一种方法可以阻止这种行为,但我还没有找到它(可能将应用程序版本更改为.NET 2实际上会这样做。)
因此,除非您使用.NET 1.0 / 1.1的某些功能(验证,智能导航等),否则可以毫无问题地删除它,如果它回来就不要太惊讶!
答案 2 :(得分:15)
aspnet_client是“必须通过HTTP提供的资源的文件夹,但是基于每个服务器安装,而不是基于每个应用程序”。
aspnet_client的一些用途包括为:
存储资源(例如JavaScript,图像)将来可能会/将会进一步使用此文件夹。毋庸置疑,因为它包含“应用程序正常运行所必需的”但“不应该由应用程序部署”的内容,对开发人员和系统管理员来说仍然是一场噩梦。
该文件夹内容的“原型”似乎在C:\ inetpub \ wwwroot \中,假设任何给定的IIS网站缺少/ aspnet_client资源似乎是合理的,那么IIS会尝试做正确的事情......作为最后的手段......在网站根文件夹中创建一个物理文件夹,然后将文件复制到那里。似乎IIS至少在调用给定服务器的“ASPNET_regiis / c”时会这样做 - 这可能在某些关键时刻自动发生......就像.NET框架更新应用于具有IIS角色的服务器一样。 / p>
处理aspnet_client目录的策略包括: *指定映射到C:\ inetpub \ wwwroot的虚拟目录,希望IIS放弃创建物理目录 *如果您确定您的网站不需要它,那么会不时删除物理目录,这真的让您烦恼 *忽略aspnet_client *如果你错过了文件夹,自己运行“ASPNET_regiis / c”,并且需要它
可能最重要的是,作为开发人员,您应该清楚地了解并记录应用程序对aspnet_client目录的依赖性,并确保您的安装过程具有相关说明以确保该目录存在。但是,作为打包的Web应用程序或网站的一部分,您可能不必费心实际提供目录 - 您怎么可能为服务器将看到的每个.NET框架版本执行此操作申请的有效期?!
我稍后会回到某些链接:
答案 3 :(得分:8)
即使在1.1以后的版本中,它也具有水晶报告正常运行所需的某些图标和脚本
答案 4 :(得分:3)
该文件夹通常用于存储客户端Javascript,ASP.NET用于验证。
删除应该是安全的。
答案 5 :(得分:1)
我想在此处添加此内容,因为这是我在Google上搜索此问题时一直指向的链接。显然,在.NET 4.0及更新版本中,不再需要此文件夹,可以毫无问题地删除它。
答案 6 :(得分:0)