知识大全 ASP.NET程序员应用程序域须知
Posted 知
篇首语:一个人使劲踮起脚尖靠近太阳的时候,全世界都挡不住她的阳光。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET程序员应用程序域须知相关的知识,希望对你有一定的参考价值。
ASP.NET程序员应用程序域须知 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
本文将讨论 NET的应用程序域 并且它们是如何对ASP NET的执行和调度产生影响的 当在Windows中启动Notepad程序时 众所周知程序会执行一个包含在容器内的进程 可以启动多个Notepad的实例 并且每个实例都会在一个专注的进行程运行 使用任务管理器 可以看到在系统中当前运行的所有进程的清单 一个进程包括可执行从操作系统中保留的在内存中的代码和程序数据 在进程之内只少有一个包含在进程之内的正在执行指令的线程 并且在多数情况下有多个线程 如果程序打开了任何文件或者资源 这些资源将属于这个进程 一个进程也有一个分界线 包含在进程之内的错误代码不能在当前进程之外的地区腐化 在一个进程之内很容易通讯 但是专业技术要求一个进程对另一个进程通讯是必需的 每一个进程也在一个特殊的上下文安全系统中运行 这个安全系统规定在机器和网络中进程做什么 一个进程是一个在Windows 操作系统中独立运行的最小单位 这会给在一个单一服务器上对一大堆应用程序的ISP提出一个问题 ISP将会分离每一个在同一个服务器上的与另一个公司的应用程序干扰的ASP NET应用程序 但是相关的发射和执行一个对成百上千的应用程序的过程成本禁止的 介绍应用程序域 NET介绍一个应用程序域的概念 或者AppDomain像一个过程 AppDomain是既是容器又是边界线 NET运行时间使用AppDomain作为代码和数据的容器 就像操作系统一个过程作为代码和数据的容器一样 当操作系统使用一个过程来分离不整齐的代码时 NET运行时间使用一个AppDomain来分离在一个安全边线内的代码 一个AppDomain仅仅属于一个单过程 但是单个过程能够保持多重的AppDomain 一个Appdomain创建起来相对容易(与一个过程比较起来) 并且与一个过程比较起来具有少的维护费用 由于这些原因 一个AppDomain是ISP(提供成千上万的应用程序)的很好的解决方案 每一个应用程序可以生存在一个独立的AppDomain之内 并且许多这样的AppDomain可以生存于一个单一的过程(节省费用)之内 AppDomain 在同服务器上创建了两个ASP NET应用程序 并且没有任何特殊配置 会发生什么事情呢? 一个单一的ASP NET手工进程使ASP NET应用程序变成两方面的主要程序 在Windows XP和Windows 中 这一程序被命名为aspnet_wp exe 并且这一程序运行在本地的ASPNET计数器的前后安全关系中 在Windows 手工程序拥有w wp exe并且默认运行在NEOR SERVICE中 一个对旬可以进住在一个AppDomain中 每一个ASP NET应用程序将具有它自己的一套全局变量 Cache Application进住进同一进程 NET AppDomain是一个独立的单元 如果存有共享的或静态成员的类 并且那些类存在于两种应用程序之内 每一个AppDomain拥有它自己的静态字段的备份—数据并不共享 每一个应用程序的数据和代码安全独立存在并且在一边界之内由AppDomain提供 为了在AppDomain之间通讯或者在AppDomain之间交换对象 需要查看在 NET中穿过边界的通讯技术 例如 NET细微的或Web 服务 对将AppDomain作为边界思想的警告之一是ASP NET应用程序在默认情况下会带着充分的信任运行 充分信任的代码可以执行本地代码 并且本地代码可以本质地在进程之内的任何内容 需要运行带着部分信任执行应用程序来约束存取不完整的代码并且对安全的AppDomain验证所有代码 隐藏备份并且重新启动 一旦一个集合加载到一个AppDomain 没有办法从AppDomain集合的办法 不过 从一个进程中移除一个AppDomain是有可能的 如果将一个已更新的dll复制到一个应用程序的子目录中 从ASP NET的运行时间知道有新代码要执行 既然ASP NET不能将dll复制到已存在的AppDomain中 它就会起动一个新AppDomain 旧的应用程序域是 排水已停止 那就是 存在的需要被允许完成执行并且一旦它们执行完成AppDomain可以卸载 带有新代码的新的AppDomain就会开始并且开始所有的新请求 典型地说 当一个dll加载进一个进程时 进程对dll加锁并且不能对磁盘的上的文件进行覆蓋 不过 AppDomain有一个众所周知的特点 隐藏复制那所有的允许保留在磁盘上的那些未被加锁的可替换的集合 运行时间对二进制子目录的带有Shadow Copy的ASP NET进行初始化 AppDomain将任何的加锁之前的dll从二进制子目录中拷贝到一个临时位置并且再将这些dll加载到内存 Shadow Copy允许没有将网页在线的情况下对所有在二进制子目录中的任何dll进行重写 熟练掌握Domain 应用程序域替换OS进程将为单独的 NET结点单元 一个可理解的应用程序域将会给你一个在ASP NET应用程序后的手工发生的概念 使用AppDomain类的CurrentDomain属性 可以检查关于代码正在运行的AppDomain的属性 包括我们在此文章中讨论的Shadow Copy cha138/Article/program/net/201311/11383相关参考
ASP.NET应用程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用户体验对于web站点的成
ASP.Net中程序构架与程序代码的分离 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一年前当
开发安全的ASP.NET应用程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Web应用程序会
ASP.NET应用程序规划与设计 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要了解如何规划
关于ASP.NET应用程序规划与设计 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 简介
设计ASP.NET应用程序的七大绝招 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 随着微软NE
编写ASP.NET应用程序的十大技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在使用Vis
Asp.net定时执行程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用Timer解决问题的
知识大全 应用程序Silverlight获取ASP.NET页面参数
应用程序Silverlight获取ASP.NET页面参数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
知识大全 Silverlight应用程序获取ASP.NET页面参数
Silverlight应用程序获取ASP.NET页面参数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下