与页可在运行时动态编译一样,任意代码文件(例如,.cs 或 .vb 文件)也可以在运行时动态编译。ASP.NET 2.0 引入了 App_Code 目录,该目录可以包含一些独立文件,这些文件包含要在应用程序中的多个页之间共享的代码。与 ASP.NET 1.x 不同(1.x 需要将这些文件预编译到 Bin 目录),App_Code 目录中的所有代码文件都将在运行时动态编译,然后提供给应用程序。可以在 App_Code 目录下放置多种语言的文件,前提是将这些文件划分到各子目录中(在 Web.config 中用特定语言注册这些子目录)。下面的示例演示如何使用 App_Code 目录包含一个从页调用的类文件。
默认情况下,App_Code 目录只能包含同一种语言的文件。但可以将 App_Code 目录划分为若干子目录(每个子目录包含同一语言的文件)以便可以在 App_Code 目录下包含多种语言。为此,需要在应用程序的 Web.config 文件中注册每个子目录。
<configuration> <system.web> <compilation> <codeSubDirectories> <add directoryName="Subdirectory"/> </codeSubDirectories> </compilation> </system.web> </configuration>