App_Code目录中存放不同语言的类文件
ASP.NET 2.0中保留文件夹中,有一个App_Code服务器目录,使用该目录可以有效地组织helper类和业务类。我们以源文件的形式部署它们,并且ASP.NET运行库保证这些类在需要时将自动编译。此外,这些文件的任何改变都可以检测到,使相关的类重新编译。最终得到的程序集在应用程序中自动地被引用,并在站点所属的所有页之间共享。
<configuration>
<system.web>
<codeSubDirectories>
<add directoryName=”CS” />
<add directoryName=”VB” />
<codeSubDirectories/>
<system.web/>
</configuration>
注意,只有应用程序根目录中的web.config文件设置<codeSubDirectories>节点,才能有效。每一节点指示构建系统创建一个不同的程序集。这就是说指定目录中的所有文件必须用相同语言编写,但是不同目录可以针对不同的语言。
只能把组件放入App_Code目录中,而不要把页、Web用户控件或其他包含非代码元素的非代码文件放入其中。
但要注意的是,该文件夹中的所有类文件必须用相同的语言编写:Visual Basic.NET、C#、J#、Jscript.NET中的一种。因为,它们都被编译成一个程序集,并由一个编译器进行处理。要使用不同的语言,必须用文件夹对类文件进行分组,并在配置文件中加入一些必要的配置,要求构建系统创建不同的程序集——每一种语言一个程序集。
下面我来举个例子。假设有两个类文件分别名为code.cs和code.vb。由于它们用两种语言编写,故不能一起放在App_Code目录中。现在创建两个文件夹来解决此类冲突:~/App_Code/CS和~/App_Code/VB,并把这两个文件分别放到相应的文件夹中去。然后在web.config中添加如下配置:
<configuration>
<system.web>
<codeSubDirectories>
<add directoryName=”CS” />
<add directoryName=”VB” />
<codeSubDirectories/>
<system.web/>
</configuration>注意,只有应用程序根目录中的web.config文件设置<codeSubDirectories>节点,才能有效。每一节点指示构建系统创建一个不同的程序集。这就是说指定目录中的所有文件必须用相同语言编写,但是不同目录可以针对不同的语言。
浙公网安备 33010602011771号