34.1.1 服务器配置文件
每个ASP.NET服务器都包含一系列配置文件,如machine.config,这个文件随.NET Framework一起安装。它和其他服务器特定的配置文件都位于C:\Windows\Microsoft.NET \Framework\v2.0.50727\CONFIG。该文件表示在该服务器上安装的所有ASP.NET Web应用程序所使用的默认设置。
服务器范围内的配置文件有:
machine.config
machine.config.comments
machine.config.default
web.config
web.config.comments
web.config.default
web_hightrust.config
web_hightrust.config.default
web_lowtrust.config
web_lowtrust.config.default
web_mediumtrust.config
web_mediumtrust.config.default
web_minimaltrust.config
web_minimaltrust.config.default
系统范围内的配置文件machine.config用于给计算机上的所有应用程序配置一般的.NET Framework设置。一般来说,***不要编辑或操作machine.config文件,除非知道自己在做什么。修改这个文件会影响计算机上的所有应用程序(Windows、Web等)。
提示:
.NET Framework支持并行执行模式,所以,如果在服务器上安装了.NET Framework的多个版本,就会有多个machine.config文件。例如,若服务器上安装了.NET Framework 1.0, 1.1和 2.0,每个.NET Framework都会有自己的machine.config文件。也就是说,该服务器上有3个machine.config文件。注意.NET Framework 3.5是建立在.NET Framework 2.0的基础之上(它包含额外的DLL,这有时称为扩展程序)。因此,.NET Framework 3.5使用与.NET Framework 2.0相同的machine.config文件。
除了machine.config文件之外,.NET Framework安装程序还安装了另外两个文件:machine.config.default和machine.config.comment。machine.config.default文件用作machine. config文件的备份。如果要改回machine.config文件的出厂设置,只需把machine. config.default中的设置复制到machine.config中即可。
machine.config.comments文件包含每个配置段的描述和最常用的值的明确设置。machine. config.default和machine.config.comment文件都不由.NET Framework运行时使用,只有要改回出厂的默认设置和默认值时,才安装它们。
在machine.config文件所在的CONFIG文件夹中,还有一个根级的web.config文件。在修改服务器上的设置时,应总是在这个根级的web.config文件中进行修改,而不是修改machine.config文件。machine.config文件包括machine.config.default和machine.config.comment文件,web.config文件也包括相应的web.config.default和web.config.comment文件。
ASP.NET Web应用程序默认运行在full trust设置下。在根级的web.config文件中查看和段,即可看到这个设置,如程序清单34-2所示。
程序清单34-2 根级的web.config文件使用的信任级别
其他策略文件在特定的信任级别上定义。这些级别确定了ASP.NET的代码访问安全性(CAS)。要改变ASP.NET应用程序在服务器上运行的信任级别,只需在根级的web.config文件或应用程序的web.config文件中修改元素即可。例如,使用程序清单34-3中的代码,就可以改为中等信任级别。
程序清单34-3 改为中等信任级别
在本例中,代码不仅要求使用web_mediumtrust.config文件,而且将allowOverride属性设置为false,强制服务器上的所有ASP.NET应用程序都使用这个信任级别。各个应用程序实例不能在它们本地的web.config文件中重写这个设置,因为这个设置是在根级的web.config文件中指定的。
查看各个信任级别配置文件,如web_mediumtrust.config文件,注意它们通过代码操作定义了我们能执行的动作。例如,web_hightrust.config文件允许在服务器的任意地方进行FileIO访问,如程序清单34-4所示。
程序清单34-4 web_hightrust.config文件定义了FileIO CAS
class="FileIOPermission"
version="1"
Unrestricted="true"
/>
但在中等信任级别的web.config文件(web_mediumtrust.config文件)中,只允许ASP.NET在应用程序目录中进行这些FileIO操作,其定义如程序清单34-5所示。
程序清单34-5 web_mediumtrust.config文件中的FileIO限制
class="FileIOPermission"
version="1"
Read="\$AppDi\$"
Write="\$AppDi\$"
Append="\$AppDi\$"
PathDiscovery="\$AppDi\$"
/>
***看看ASP.NET应用程序可以运行在什么信任级别下,并修改元素,以支持CAS的相应级别。
【责任编辑:云霞 TEL:(010)68476606】
点赞 0