新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论.NET,C#,ASP,VB技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 Dot NET,C#,ASP,VB 』 → 管窥.net---AppDomain 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 2874 个阅读者  浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 管窥.net---AppDomain 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     admin 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      头衔:W3China站长
      等级:计算机硕士学位(管理员)
      文章:5255
      积分:18407
      门派:W3CHINA.ORG
      注册:2003/10/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给admin发送一个短消息 把admin加入好友 查看admin的个人资料 搜索admin在『 Dot NET,C#,ASP,VB 』的所有贴子 点击这里发送电邮给admin  访问admin的主页 引用回复这个贴子 回复这个贴子 查看admin的博客楼主
    发贴心情 管窥.net---AppDomain


    发信人: walts (小天堂), 信区: DotNET        
    标  题: 管窥.net---AppDomain
    发信站: BBS 水木清华站 (Tue May  8 19:38:25 2001)

    什么是应用程序域(AppDomain)?

       简单的说AppDomain是.Net环境下的一个概念, 它有一个确切的类型的实现.  
    可以把一个AppDomain看成一个简单的进程, 但是, 事实上一个Win32进程可以包含多
    个AppDomain. 实现AppDomain的基本目的是把一个应用程序和其它的应用程序隔绝开来.  
    我们知道,Win32进程通过独立的地址空间隔离不同的进程,以确保操作系统和应用程序的
    稳定. 但是.Net运行时通过控制每个AppDomain的所有存储空间的使用来完全隔离不同的
    AppDomain, 就是说, .Net运行时环境确保了一个AppDomain不会访问其它AppDomain的空间.  

    AppDomain是怎样生成的?
       AppDomain通常是由宿主(hosts)产生的. 那么什么是宿主呢? 举个例子,  
    Windows Shell, ASP+, IE等等都是宿主. 当在命令行上创建一个.Net
    应用程序的时候, 宿主就是Windows Shell, 这个宿主为每个应用程序创建
    了AppDomain.当然, AppDomain也可以由.Net应用程序显式产生.
    下面这个C#例子就显示创建了一个AppDomain, 同时产生了一个对象的实例,  
    然后执行这个对象的方法.

    using System;
    using System.Runtime.Remoting;

    public class CAppDomainInfo : MarshalByRefObject
    {
    public string GetAppDomainInfo()
    {
      return "AppDomain = " + AppDomain.CurrentDomain.FriendlyName;
    }

    }

    public class App
    {
        public static int Main()
        {
      AppDomain ad = AppDomain.CreateDomain( "csharp's new domain", null, null );
      ObjectHandle oh = ad.CreateInstance( "appdomaintest.exe", "CAppDomainInfo" );
      CAppDomainInfo adInfo = (CAppDomainInfo)(oh.Unwrap());
      string info = adInfo.GetAppDomainInfo();
       
      Console.WriteLine( "AppDomain info: " + info );
      return 0;
        }
    }


    怎么写我自己的.Net宿主(host)?
       在.Net SDK中也有一个叫做CorHost的例子.  

    --

    ※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.142.76]
    上一篇
    返回上一页
    回到目录
    回到页首
    下一篇


       收藏   分享  
    顶(0)
      




    ----------------------------------------------

    -----------------------------------------------

    第十二章第一节《用ROR创建面向资源的服务》
    第十二章第二节《用Restlet创建面向资源的服务》
    第三章《REST式服务有什么不同》
    InfoQ SOA首席编辑胡键评《RESTful Web Services中文版》
    [InfoQ文章]解答有关REST的十点疑惑

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/11/9 2:26:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Dot NET,C#,ASP,VB 』的所有贴子 点击这里发送电邮给Google AdSense  访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/6/23 5:05:42

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    46.875ms