页与页之间如何共享代码

发布时间: 2007-01-28 01:10    作者: 未知    来源: 未知    浏览:    评论

在页之间共享代码

尽管可以将代码放在站点的每个页上(使用上一节中所述的内联或代码隐藏分离模型),但有时您将希望在站点中的多个页之间共享代码。将这些代码复制到需要它们的每个页上,这种做法既低效又使代码难以维护。幸运的是,ASP.NET 提供了几种简单的方法,使应用程序中的所有页都可以访问代码。

代码目录 2.0 中的新增功能

与页可在运行时动态编译一样,任意代码文件(例如,.cs 或 .vb 文件)也可以在运行时动态编译。ASP.NET 2.0 引入了 App_Code 目录,该目录可以包含一些独立文件,这些文件包含要在应用程序中的多个页之间共享的代码。与 ASP.NET 1.x 不同(1.x 需要将这些文件预编译到 Bin 目录),App_Code 目录中的所有代码文件都将在运行时动态编译,然后提供给应用程序。可以在 App_Code 目录下放置多种语言的文件,前提是将这些文件划分到各子目录中(在 Web.config 中用特定语言注册这些子目录)。下面的示例演示如何使用 App_Code 目录包含一个从页调用的类文件。

C# App_Code Folder Example
Run Sample View Source

默认情况下,App_Code 目录只能包含同一种语言的文件。但可以将 App_Code 目录划分为若干子目录(每个子目录包含同一语言的文件)以便可以在 App_Code 目录下包含多种语言。为此,需要在应用程序的 Web.config 文件中注册每个子目录。
<configuration>  <system.web>    <compilation>      <codeSubDirectories>        <add directoryName="Subdirectory"/>      </codeSubDirectories>    </compilation>  </system.web></configuration>
下面的示例演示了一个经过划分以包含 VB 和 C# 语言文件的 App_Code 目录。

C# Partitioned App_Code Folder Example
Run Sample View Source

Bin 目录

在 ASP.NET 版本 1 中支持 Bin 目录,该目录类似于 Code 目录,不同的是它可以包含预编译的程序集。如果需要使用可能由其他人编写的代码,则此目录十分有用,您无需访问源代码(VB 或 C# 文件)就可以得到编译后的 DLL。只需将程序集放在 Bin 目录中,就可以在您的站点中使用它。默认情况下,Bin 目录中的所有程序集都自动加载到应用程序中,然后可供各页访问。您可能需要使用页最上方的 @Import 指令从 Bin 目录的程序集中导入特定的命名空间。
  <@ Import Namespace="MyCustomNamespace" >

全局程序集缓存

.NET Framework 2.0 提供了表示 Framework 的各个部件的大量程序集。这些程序集存储在全局程序集缓存中,该缓存是程序集的版本化存储库,可供计算机上的所有应用程序使用(而不像 Bin 和 App_Code 那样仅限于特定的应用程序)。Framework 中的多个程序集都可自动提供给 ASP.NET 应用程序。通过在应用程序的 Web.config 文件中注册,可以注册更多的程序集。
<configuration>   <compilation>      <assemblies>         <add assembly="System.Data, Version=1.0.2411.0,                         Culture=neutral,                         PublicKeyToken=b77a5c561934e089"/>      </assemblies>   </compilation></configuration>
请注意,您仍需使用 @Import 指令使这些程序集中的命名空间可供各页使用。 
 

Smile Big Smile Surprise Stick out tongue Wink Sad Tongue Tied Indifferent Crying Embarrassed Cool Angry Angel Devil [8-|] [:#] [:-*] [:^)] [<:o)] [|-)] Yes Beer Left Hug Music Star Time Snail Pizza Automobile Umbrella Computer Storm [mo] [8o|] [^o)] [+o(] [*-)] [8-)] Coffee No Drinks [Z] Right Hug Cake Broken Heart Gift Wilted Flower Movie Dog Idea Sleep Email Travel Paradise
呢称:

加粗 斜体 下划线 链接 图片 代码 邮件地址 引用 列表

最多只能输入100个字符

Tags

SQL 数据库 asp.net C# XML 控件 .NET教程 程序 事件 数据 安全 代码 Server 客户端 验证 数据库专栏 接口 文件 Oracle DataSet 函数 DataGrid 问题 .net return C#语言 JavaScript 服务 IIS 对象 语句 windows 继承 时间 web.config 设计 开发 参数 变量 解决 字符 ADO.net 环境 VB.Net语言 web 异常 工具 服务器 计算 实例 OLEDB Application VB Word WebService insert asp net 安装 记录

精华推荐

更多

精品下载

更多