asp.net中app_code和bin文件夹介绍_第1页
asp.net中app_code和bin文件夹介绍_第2页
asp.net中app_code和bin文件夹介绍_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 中 app_code 和 bin 文件夹介绍如果您的 Web 应用程序包括要在多个页之间共享的代码,您可以将代码保存在 Web 应用程序根目录下的两个特殊文件夹(Bin 文件夹和 App_Code 文件夹)中的某个文件夹中。Bin 文件夹可以在 Bin 文件夹中存储编译的程序集,并且 Web 应用程序任意处的其他代码(如页代码)会自动引用该文件夹。典型的示例是您为自定义类编译好的代码。您可以将编译后的程序集复制到 Web 应用程序的 Bin 文件夹中,这样所有页都可以使用这个类。Bin 文件夹中的程序集无需注册。只要.dll 文件存在于 Bin 文件夹中,ASPNET 就可以识别它。如果您更

2、改了.dll 文件,并将它的新版本写入到了 Bin 文件夹中,则 ASPNET 会检测到更新,并对随后的新页请求使用新版本的.dll 文件。Bin 文件夹的安全性将编译后的程序集放入 Bin 文件夹中会带来安全风险。如果是您自己编写和编译的代码,那么您了解代码的功能。但是,您必须像对待任何可执行代码一样来对待 Bin 文件夹中已编译的代码。在完成代码测试并确信已了解代码功能之前,要对已编译的代码保持谨慎的态度。请注意以下安全方面的知识,这些知识与是否将已编译的代码放入 Bin 文件夹有关:Bin 文件夹中程序集的作用范围为当前应用程序。因此,它们无法访问当前 Web 应用程序之外的资源或调用当

3、前 Web 应用程序之外的代码。运行时,程序集的访问级别由本地计算机上指定的信任级别确定。有关更多信息,请参见 ASPNET 信任级别和策略文件。如果您使用了诸如 VisualStudio 这样的设计器,那么 Bin 文件夹中的代码运行所在的上下文与运行时不同。例如,代码可能以完全信任状态运行。App_Code 文件夹可以在 App_Code 文件夹中存储源代码,在运行时将会自动对这些代码进行编译。Web 应用程序中的其他任何代码都可以访问产生的程序集。因此,App_Code 文件夹的工作方式与 Bin 文件夹很类似,不同之处是您可以在其中存储源代码而非已编译的代码。App_Code 文件夹及

4、其在 ASPNETWeb 应用程序中的特殊地位使您可以创建自定义类和其他仅源代码文件,并在 Web 应用程序中使用它们而不必单独对它们进行编译。App_Code 文件夹可以包含以传统类文件(即带有.vb、.cs 等扩展名的文件)的形式编写的源代码文件。但是,它也可以包含并非明确显示出由某一特定编程语言编写的文件。例如.wsdl(Web 服务发现语言)文件和 XML 架本勾(.xsd)文件。ASPNET 可以将这些文件编译成程序集。根据您的需要,App_Code 文件夹可以包含任意数量的文件和子文件夹。您可以采用任何您认为方便的方式组织源代码,ASPNET 仍会将所有代码编译成单个程序集,并且

5、Web应用程序任意处的其他代码都可以访问该程序集。推断 App_Code 文件夹的编程语言App_Code 文件夹并未显式标记为包含以任何一种编程语言编写的文件。相反,ASPNET 是根据 App_Code 文件夹所包含的文件来推断应为 App_Code 文件夹调用哪一种编译器。如果 App_Code 文件夹包含.vb 文件,则 ASPNET 使用 VisualBasic 编译器;如果包含.cs 文件,则 ASPNET 使用 C#编译器,以此类推。如果 App_Code 文件夹只包含并未明确表明编程语言的文件 (如.wsdl 文件) , 则 ASPNET 将使用 Web应用程序的默认编译器,默

6、认编译器在 Web 应用程序或计算机配置文件的compilation 元素中确定。在 App_Code 文件夹中使用多种编程语言因为 App_Code 文件夹中的源代码要编译成单个程序集,所以 App_Code 文件夹中的所有文件必须使用相同的编程语言编写。例如,App_Code 文件夹不能同时包含采用VisualBasic 和 C#编写的源代码。但是,您可以对 Web 应用程序进行配置,使其将 App_Code 文件夹的子文件夹作为独立的可编译单元处理。这样,每一个文件夹就可以包含以不同编程语言编写的源代码。通过在Web.config 文件的 codeSubDirectories 元素中创建

7、一个 compilation 元素,然后添加一个对子文件夹的引用,即可指定该配置。下面的示例阐释如何对名为 VBCode 和 CSCode 的子文件夹进行配置,使其编译成不同的程序集:复制到剪贴板compilationdebug=false请注意,对 VBCode 和 CSCode 子文件夹的引用并未包括任何有关子文件夹中所包含的编程语言的信息。就像对待 App_Code 文件夹本身一样,ASPNET 会根据子文件夹中的文件来推断要使用的编译器。App_Code 文件夹的安全性App_Code 文件夹中的代码存在的安全问题基本上与 Bin 文件夹中的代码存在的安全问题相同-代码都会在运行时编译成程序集。比 Bin 文件夹要好一些的是,您可以阅读 App_Code 文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论