无为清净楼资源网 Design By www.qnjia.com
如果您的 Web 应用程序包括要在多个页之间共享的代码,您可以将代码保存在 Web 应用程序根目录下的两个特殊文件夹(Bin 文件夹和 App_Code 文件夹)中的某个文件夹中。
Bin 文件夹
可以在 Bin 文件夹中存储编译的程序集,并且 Web 应用程序任意处的其他代码(如页代码)会自动引用该文件夹。典型的示例是您为自定义类编译好的代码。您可以将编译后的程序集复制到 Web 应用程序的 Bin 文件夹中,这样所有页都可以使用这个类。
Bin 文件夹中的程序集无需注册。只要 .dll 文件存在于 Bin 文件夹中,ASP.NET 就可以识别它。如果您更改了 .dll 文件,并将它的新版本写入到了 Bin 文件夹中,则 ASP.NET 会检测到更新,并对随后的新页请求使用新版本的 .dll 文件。
Bin 文件夹的安全性
将编译后的程序集放入 Bin 文件夹中会带来安全风险。如果是您自己编写和编译的代码,那么您了解代码的功能。但是,如果不是您自己编写和编译的代码,那么您必须像对待任何可执行代码一样来对待 Bin 文件夹中已编译的代码。在完成代码测试并确信已了解代码功能之前,要对已编译的代码保持谨慎的态度。
请注意以下安全方面的知识,这些知识与是否将已编译的代码放入 Bin 文件夹有关:
Bin 文件夹中程序集的作用范围为当前应用程序。因此,它们无法访问当前 Web 应用程序之外的资源或调用当前 Web 应用程序之外的代码。
运行时,程序集的访问级别由本地计算机上指定的信任级别确定。
如果您使用了诸如 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 文件夹并未显式标记为包含以任何一种编程语言编写的文件。相反,ASP.NET 是根据 App_Code 文件夹所包含的文件来推断应为 App_Code 文件夹调用哪一种编译器。如果 App_Code 文件夹包含 .vb 文件,则 ASP.NET 使用 Visual Basic 编译器;如果包含 .cs 文件,则 ASP.NET 使用 C# 编译器,以此类推。
如果 App_Code 文件夹只包含并未明确表明编程语言的文件(如 .wsdl 文件),则 ASP.NET 将使用 Web 应用程序的默认编译器,默认编译器在 Web 应用程序或计算机配置文件的 <compilation> 元素中确定。
在 App_Code 文件夹中使用多种编程语言
因为 App_Code 文件夹中的源代码要编译成单个程序集,所以 App_Code 文件夹中的所有文件必须使用相同的编程语言编写。例如,App_Code 文件夹不能同时包含采用 Visual Basic 和 C# 编写的源代码。
但是,您可以对 Web 应用程序进行配置,使其将 App_Code 文件夹的子文件夹作为独立的可编译单元处理。这样,每一个文件夹就可以包含以不同编程语言编写的源代码。通过在 Web.config 文件的 <compilation> 元素中创建一个 <codeSubDirectories> 元素,然后添加一个对子文件夹的引用,即可指定该配置。下面的示例阐释如何对名为 VBCode 和 CSCode 的子文件夹进行配置,使其编译成不同的程序集:
<compilation debug="false"> <codeSubDirectories> <add directoryName="VBCode" /> <add directoryName="CSCode" /> </codeSubDirectories></compilation>
请注意,对 VBCode 和 CSCode 子文件夹的引用并未包括任何有关子文件夹中所包含的编程语言的信息。就像对待 App_Code 文件夹本身一样,ASP.NET 会根据子文件夹中的文件来推断要使用的编译器。
App_Code 文件夹的安全性
App_Code 文件夹中的代码存在的安全问题基本上与 Bin 文件夹中的代码存在的安全问题相同 - 代码都要编译成程序集并在运行时执行。比 Bin 文件夹要好一些的是,您可以阅读 App_Code 文件夹中文件的源代码。但是,如果您不能完全理解代码,仍然会存在安全风险。因此,对待 App_Code 文件夹中的源代码的态度必须像对待基于同样的源代码生成的已编译代码一样谨慎。
Bin 文件夹
可以在 Bin 文件夹中存储编译的程序集,并且 Web 应用程序任意处的其他代码(如页代码)会自动引用该文件夹。典型的示例是您为自定义类编译好的代码。您可以将编译后的程序集复制到 Web 应用程序的 Bin 文件夹中,这样所有页都可以使用这个类。
Bin 文件夹中的程序集无需注册。只要 .dll 文件存在于 Bin 文件夹中,ASP.NET 就可以识别它。如果您更改了 .dll 文件,并将它的新版本写入到了 Bin 文件夹中,则 ASP.NET 会检测到更新,并对随后的新页请求使用新版本的 .dll 文件。
Bin 文件夹的安全性
将编译后的程序集放入 Bin 文件夹中会带来安全风险。如果是您自己编写和编译的代码,那么您了解代码的功能。但是,如果不是您自己编写和编译的代码,那么您必须像对待任何可执行代码一样来对待 Bin 文件夹中已编译的代码。在完成代码测试并确信已了解代码功能之前,要对已编译的代码保持谨慎的态度。
请注意以下安全方面的知识,这些知识与是否将已编译的代码放入 Bin 文件夹有关:
Bin 文件夹中程序集的作用范围为当前应用程序。因此,它们无法访问当前 Web 应用程序之外的资源或调用当前 Web 应用程序之外的代码。
运行时,程序集的访问级别由本地计算机上指定的信任级别确定。
如果您使用了诸如 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 文件夹并未显式标记为包含以任何一种编程语言编写的文件。相反,ASP.NET 是根据 App_Code 文件夹所包含的文件来推断应为 App_Code 文件夹调用哪一种编译器。如果 App_Code 文件夹包含 .vb 文件,则 ASP.NET 使用 Visual Basic 编译器;如果包含 .cs 文件,则 ASP.NET 使用 C# 编译器,以此类推。
如果 App_Code 文件夹只包含并未明确表明编程语言的文件(如 .wsdl 文件),则 ASP.NET 将使用 Web 应用程序的默认编译器,默认编译器在 Web 应用程序或计算机配置文件的 <compilation> 元素中确定。
在 App_Code 文件夹中使用多种编程语言
因为 App_Code 文件夹中的源代码要编译成单个程序集,所以 App_Code 文件夹中的所有文件必须使用相同的编程语言编写。例如,App_Code 文件夹不能同时包含采用 Visual Basic 和 C# 编写的源代码。
但是,您可以对 Web 应用程序进行配置,使其将 App_Code 文件夹的子文件夹作为独立的可编译单元处理。这样,每一个文件夹就可以包含以不同编程语言编写的源代码。通过在 Web.config 文件的 <compilation> 元素中创建一个 <codeSubDirectories> 元素,然后添加一个对子文件夹的引用,即可指定该配置。下面的示例阐释如何对名为 VBCode 和 CSCode 的子文件夹进行配置,使其编译成不同的程序集:
<compilation debug="false"> <codeSubDirectories> <add directoryName="VBCode" /> <add directoryName="CSCode" /> </codeSubDirectories></compilation>
请注意,对 VBCode 和 CSCode 子文件夹的引用并未包括任何有关子文件夹中所包含的编程语言的信息。就像对待 App_Code 文件夹本身一样,ASP.NET 会根据子文件夹中的文件来推断要使用的编译器。
App_Code 文件夹的安全性
App_Code 文件夹中的代码存在的安全问题基本上与 Bin 文件夹中的代码存在的安全问题相同 - 代码都要编译成程序集并在运行时执行。比 Bin 文件夹要好一些的是,您可以阅读 App_Code 文件夹中文件的源代码。但是,如果您不能完全理解代码,仍然会存在安全风险。因此,对待 App_Code 文件夹中的源代码的态度必须像对待基于同样的源代码生成的已编译代码一样谨慎。
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年11月17日
2024年11月17日
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】