知识大全 ASP.NET 网站中的共享代码文件夹

Posted 文件

篇首语:眼前多少难甘事,自古男儿当自强。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET 网站中的共享代码文件夹相关的知识,希望对你有一定的参考价值。

ASP.NET 网站中的共享代码文件夹  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    网站中的共享代码文件夹    如果您的 Web 应用程序包括要在多个页之间共享的代码 您可以将代码保存在 Web 应用程序根目录下的两个特殊文件夹(Bin 文件夹和 App_Code 文件夹)中的某个文件夹中 当您创建这些文件夹并在其中存储特定类型的文件时 ASP NET 将使用特殊方式处理这些文件     Bin 文件夹    可以在 Bin 文件夹中存储编译的程序集 并且 Web 应用程序任意处的其他代码(如页代码)会自动引用该文件夹 典型的示例是您为自定义类编译好的代码 您可以将编译后的程序集复制到 Web 应用程序的 Bin 文件夹中 这样所有页都可以使用这个类     Bin 文件夹中的程序集无需注册 只要 dll 文件存在于 Bin 文件夹中 ASP NET 就可以识别它 如果您更改了 dll 文件 并将它的新版本写入到了 Bin 文件夹中 则 ASP NET 会检测到更新 并对随后的新页请求使用新版本的 dll 文件     Bin 文件夹的安全性    将编译后的程序集放入 Bin 文件夹中会带来安全风险 如果是您自己编写和编译的代码 那么您了解代码的功能 但是 您必须像对待任何可执行代码一样来对待 Bin 文件夹中已编译的代码 在完成代码测试并确信已了解代码功能之前 要对已编译的代码保持谨慎的态度     请注意以下安全方面的知识 这些知识与是否将已编译的代码放入 Bin 文件夹有关     Bin 文件夹中程序集的作用范围为当前应用程序 因此 它们无法访问当前 Web 应用程序之外的资源或调用当前 Web 应用程序之外的代码     运行时 程序集的访问级别由本地计算机上指定的信任级别确定 有关更多信息 请参见 ASP NET 信任级别和策略文件     如果您使用了诸如 Visual Studio 这样的设计器 那么 Bin 文件夹中的代码运行所在的上下文与运行时不同 例如 代码可能以完全信任状态运行 App_Code 文件夹    可以在 App_Code 文件夹中存储源代码 在运行时将会自动对这些代码进行编译 Web 应用程序中的其他任何代码都可以访问产生的程序集 因此 App_Code 文件夹的工作方式与 Bin 文件夹很类似 不同之处是您可以在其中存储源代码而非已编译的代码 App_Code 文件夹及其在 ASP NET Web 应用程序中的特殊地位使您可以创建自定义类和其他仅源代码文件 并在 Web 应用程序中使用它们而不必单独对它们进行编译     App_Code 文件夹可以包含以传统类文件(即带有 vb cs 等扩展名的文件)的形式编写的源代码文件 但是 它也可以包含并非明确显示出由某一特定编程语言编写的文件 例如 wsdl(Web 服务描述语言)文件和 xml 架构 ( xsd) 文件 ASP NET 可以将这些文件编译成程序集     根据您的需要 App_Code 文件夹可以包含任意数量的文件和子文件夹 您可以采用任何您认为方便的方式组织源代码 ASP NET 仍会将所有代码编译成单个程序集 并且 Web 应用程序任意处的其他代码都可以访问该程序集 注意    在 App_Code 文件夹中不允许使用用户控件 这包括单文件用户控件以及使用代码隐藏模型的用户控件 将用户控件置于 App_Code 目录中会导致不按用户控件代码所要求的顺序对其进行编译 因此是不允许的 请注意 不需要将用户控件置于 App_Code 文件夹中 因为处于应用程序中任何位置的页都已经可以使用这些控件     推断 App_Code 文件夹的编程语言    App_Code 文件夹并未显式标记为包含以任何一种编程语言编写的文件 相反 ASP NET 是根据 App_Code 文件夹所包含的文件来推断应为 App_Code 文件夹调用哪一种编译器 如果 App_Code 文件夹包含 vb 文件 则 ASP NET 使用 Visual Basic 编译器 如果包含 cs 文件 则 ASP NET 使用 C# 编译器 以此类推     如果 App_Code 文件夹只包含并未明确表明编程语言的文件(如 wsdl 文件) 则 ASP NET 将使用 Web 应用程序的默认编译器 默认编译器在 Web 应用程序或计算机配置文件的 pilation 元素中确定     在 App_Code 文件夹中使用多种编程语言    因为 App_Code 文件夹中的源代码要编译成单个程序集 所以 App_Code 文件夹中的所有文件必须使用相同的编程语言编写 例如 App_Code 文件夹不能同时包含采用 Visual Basic 和 C# 编写的源代码     但是 您可以对 Web 应用程序进行配置 使其将 App_Code 文件夹的子文件夹作为独立的可编译单元处理 这样 每一个文件夹就可以包含以不同编程语言编写的源代码 通过在 nfig 文件的 codeSubDirectories 元素中创建一个 pilation 元素 然后添加一个对子文件夹的引用 即可指定该配置 下面的示例阐释如何对名为 VBCode 和 CSCode 的子文件夹进行配置 使其编译成不同的程序集     复制代码    <pilation debug= false >    <codeSubDirectories>    <add directoryName= VBCode />    <add directoryName= CSCode />    </codeSubDirectories>    </pilation>对 VBCode 和 CSCode 子文件夹的引用并不需要包括任何有关子文件夹中所包含的编程语言的信息 就像对待 App_Code 文件夹本身一样 ASP NET 会根据子文件夹中的文件来推断要使用的编译器     App_Code 文件夹的安全性    App_Code 文件夹中的代码存在的安全问题基本上与 Bin 文件夹中的代码存在的安全问题相同 代码都会在运行时编译成程序集 比 Bin 文件夹要好一些的是 您可以阅读 App_Code 文件夹中文件的源代码 但是 如果您不能完全理解代码 仍然会存在安全风险 因此 对待 App_Code 文件夹中的源代码的态度必须像对待基于同样的源代码生成的已编译代码一样谨慎 cha138/Article/program/net/201311/13410

相关参考

知识大全 添加ASP.NET网站资源文件夹

ASP.NET开发宝典:添加ASP.NET网站资源文件夹  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 Asp.Net获取网站截图的实例代码

Asp.Net获取网站截图的实例代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!这篇文章介绍了A

知识大全 asp.net使用代码从文件夹里读取图片

cha138/Article/program/net/201311/14235

知识大全 asp.net用代码压缩服务器上文件夹或文件

cha138/Article/program/net/201311/14328

知识大全 ASP.NET MVC和代码隐藏文件

ASP.NETMVC和代码隐藏文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNETM

知识大全 asp.net StreamReader 创建文件的实例代码

asp.netStreamReader创建文件的实例代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 ASP.NET入门教程 10.4 创建后台代码文件[2]

ASP.NET入门教程10.4创建后台代码文件[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 ASP.NET入门教程 10.4 创建后台代码文件[1]

ASP.NET入门教程10.4创建后台代码文件[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 ASP.NET入门教程 10.4 创建后台代码文件[3]

ASP.NET入门教程10.4创建后台代码文件[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 asp.net获取服务器基本信息的方法代码

在做网站开发的时候常常需要获取服务器的一些基本信息怎么获取呢请参阅下面的简单介绍 复制代码代码如下:cha138/Article/program/net/201311/14250