IIS结构下的aspnet_client文件夹是什么?

时间:2008-10-16 21:52:27

标签: iis

我注意到标准IIS Web文件夹结构下经常有一个aspnet_client文件夹。这是用来做什么的?需要吗?

7 个答案:

答案 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,图像)
  • 用于ASP.NET Web窗体的JavaScript控件在使用客户端验证时(主要用于处理IE5等旧版浏览器)
  • 用于“全局主题”的ASP.NET 2.0(直到框架4.0)(对服务器上的所有站点都是全局的),
  • 某些版本的Crystal Reports

将来可能会/将会进一步使用此文件夹。毋庸置疑,因为它包含“应用程序正常运行所必需的”但“不应该由应用程序部署”的内容,对开发人员和系统管理员来说仍然是一场噩梦。

该文件夹内容的“原型”似乎在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)

如果您使用Installshield配置ASP.net网站,请注意此功能在Installshield 2010中存在且在Installshield 2012中缺失。 Installshield 2010 Vs 2012