.Net的 AppDomain 没有达到MS所宣传的核心功能:“使用应用程序域隔离可能终止进程的任务。” ;难道是我错了? 你的理解有问题,一个appdomain 出现错误 是没有影响到别的appdomain ,一个进程可以包含多个appdomain,所以一个程序集出错不影响别的程序集,但不表示不影响这个exe 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 尝试每个应用程序域(AppDomain)使用新的线程打开..static void Run(){ AppDomain domain = AppDomain.CreateDomain("newdomain"); //domain.ExecuteAssemblyByName(Assembly.GetExecutingAssembly().FullName); //运行你的独立组件..}static void Main(string[] args){ new Thread(new ThreadStart(Run)).Start(); //启动新应用程序域..} 是的, 我现在的情况也是一个进程拥有多个AppDomain, 但如果其中一个AppDomain出错把进程搞崩溃了(如我的情况),那么进程拥有的AppDomain都跟着崩溃! 其实每个组件的执行代码都是多线程的(通讯组件),主要是长时间运行后,组件中总会有未捕获的异常出现。 这类异常就是原凶。 但AppDomain的UnhandledException 事件处理不了,它仍然throw给了用户. ^ō^ 所以结合多线程技术处理是首选, 然而在每个应用程序域当中适当使用 try-catch-finally 可以有效防止进程崩溃.. http://www.codinghorror.com/blog/archives/000216.html 遇到不懂的地方,lz还是切换到英文版本的MSDN仔细研究吧。MSDN中文版很多内容乃是机器翻译的结果,不容易理解也是正常的。 因为调用多个程序集如果一个程序集合BK了则程序无法进行下去一定要建立try-catch-finally另 我推测非AppDomain的相关异常;主要是各程序集中某个代码块运行抛出异常后会影响整个程序集。 本来就是想写个应用程序框架,差价都是别人写的,可能会有未处理的异常导致程序崩溃。这个AppDomain如何处理啊。就像Google浏览器,任意一个窗口崩溃都不会导致应用程序崩溃。 chrom也会全部崩溃掉,遇到过多次 求助:C#泛型 Linq to Entity 支持跨数据库查询吗? 怎么点按钮 调用用户控件 编程思想 c#操作excel如何使用模板? 求datagrid里嵌套一dropdownlist的实例 话说Microsoft.VisualBasic命名空间的作用 如何使execl的文字纵向显示? 在线等。。 求助!c#如何进行内存映射操作大文本? 帮我看看 如何手动添加xtragridView行? 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。(含服务端代码)
{
AppDomain domain = AppDomain.CreateDomain("newdomain");
//domain.ExecuteAssemblyByName(Assembly.GetExecutingAssembly().FullName);
//运行你的独立组件..
}static void Main(string[] args)
{
new Thread(new ThreadStart(Run)).Start(); //启动新应用程序域..
}
这类异常就是原凶。 但AppDomain的UnhandledException 事件处理不了,它仍然throw给了用户.
如果一个程序集合BK了则程序无法进行下去
一定要建立
try-catch-finally
另 我推测非AppDomain的相关异常;
主要是各程序集中某个代码块运行抛出异常后会影响整个程序集。