什么是IIS结构下的aspnet_client文件夹?
我注意到在标准的IIS web文件夹结构下经常有一个aspnet_client文件夹。 这是用来干什么的? 需要吗?
在.NET 1.1和之前的版本中,这个文件夹为ASP.NET提供了对validation控件和其他function的JavaScript支持。 如果您没有运行.NET 1.1或更旧版本的站点,应该可以安全地删除它。 我会先重命名它,以确保它不会造成任何问题。
除了别人所说的之外,它通常由aspnet_regiis工具创build,可以通过Windows Update / AddRemove Windows组件/ IIS等(重新)运行。 所以有时候,即使你删除它,它可以随机回来。 可能有办法阻止这种行为,但我还没有find它(也许更改应用程序版本到.NET 2会实际上)。
所以,除非你使用.NET 1.0 / 1.1(validation,智能导航等)的某些特性,否则你可以毫无问题的删除它,只要不会感到惊讶!
aspnet_client是“必须通过HTTP提供服务的资源的文件夹,但是以每个服务器为基础安装,而不是以每个应用程序为基础”。
aspnet_client的一些用途包括存储资源(例如,JavaScript,图像):
- 用于ASP.NET Web Forms的JavaScript控件在使用客户端validation时(主要是处理像IE5这样的旧版本的浏览器,看来)
- ASP.NET 2.0(直到在框架4.0)“全球主题”(全局到服务器上的所有网站,这是)
- 某些版本的Crystal Reports
今后有可能会进一步(ab)使用这个文件夹。 不用说,因为它包含了“应用程序正确运行所必需的”但“不应该由应用程序部署”的东西,对开发人员和系统pipe理员来说,这仍然是一个噩梦。
看来,文件夹内容的“原型”是在C:\ inetpub \ wwwroot \中,而且假设如果任何给定的IIS网站缺less一个/ aspnet_client资源,那么IIS将会尝试做正确的事情并…作为最后的手段…在网站的根文件夹中创build一个物理文件夹,并在那里复制文件。 看起来,IIS至less会在给定服务器调用“ASPNET_regiis / c”时这样做 – 这可能会在某些关键时刻自动发生……就像.NET框架更新应用于具有IISangular色的服务器一样。
处理aspnet_client目录的策略包括:*指定映射到C:\ inetpub \ wwwroot的虚拟目录,希望IIS将放弃创build一个物理目录*不时删除物理目录,如果你确定你的网站不是'吨需要它,它真的困扰你*忽略aspnet_client *自己运行“ASPNET_regiis / c”如果你错过了文件夹,并需要它
也许最重要的是,作为一名开发人员,您应该清楚地理解和logging您的应用程序对aspnet_client目录的依赖关系,并确保您的安装过程具有相关说明,以确保该目录存在。 但是,您应该不打算实际提供作为打包的Web应用程序或网站的一部分的目录 – 您怎么可能为服务器在应用程序的整个生命周期中看到的每个.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
- 什么是我的ASP.NET网站aspnet_client文件夹?
- iis express全球主题目录path 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
它还具有某些图标和脚本,即使在1.1以后的版本中,Crystal Reports也能正常运行
该文件夹通常用于存储客户端的JavaScript,ASP.NET使用的东西,如validation。
删除应该是安全的。
想象一下,我会在这里添加这个,因为这是我一直使用这个问题时不断被引导到的链接。 显然,与.NET 4.0和更新此文件夹不再需要,可以被删除没有问题。