社区
C#
帖子详情
请问:是否有一种方法可以列举当前系统中的AppDomain?
penter
2004-06-25 04:17:48
见题,谢谢;
...全文
177
8
打赏
收藏
请问:是否有一种方法可以列举当前系统中的AppDomain?
见题,谢谢;
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
penter
2004-06-29
打赏
举报
回复
楼上的朋友,谢谢你的参与;
《程序员》有一期的专题就是谈论“动态程序”,我想如果在程序不可能被停止,被重新
编译的情况下改变程序的执行行为,应该有这样的需求,也想在.NET下找到相应的解决方法;
http://www.blogbus.com/blogbus/blog/diary.php?diaryid=196144
这个例子就是在没有停掉程序的情况下改变了程序的执行;
我会做一个尝试,并把最终的结果发布出来,
maotroy
2004-06-29
打赏
举报
回复
我觉得,如果能够得到安全认证的话,那更稳妥的做法是通过接口来实现。如果希望破入程序运行时获取或设置被隔离的资源,本身就说明程序在安全机制上有欠缺,而你正是想利用这种欠缺去达成某种目的!!面向对象就是希望让你看到你想看到的,而隐藏你“不应该”关心的。
maotroy
2004-06-28
打赏
举报
回复
AppDomain 是介于 Process与Thread 之间的一种形态,System.Diagnostics.Process中有一些静态的方法可以取得Process的信息;System.Diagnostics.Process.GetProcesses() 将返回当前系统中运行的Process集合。
AppDomain机制本身的目的是为了隔离保护数据不被别的AppDomain访问,而实现跨AppDomain的数据访问本身就是件吃力不讨好的事情。用C++来实现比较底层的东西应该比.Net更为方便吧。
penter
2004-06-28
打赏
举报
回复
谢谢楼上的朋友;
我在MSDN看到如下一段话:
在任何情况下都不应创建 AppDomain 对象的可远程控制的包装。如果创建了,则可能会不经意地远程发布对该 AppDomain 的引用,这将会远程公开该 AppDomain 的 CreateInstance 方法(和其他方法),并严重损坏该 AppDomain 的任何代码访问安全性。连接到远程 AppDomain 的恶意客户端可能将能够访问 AppDomain 本身才能访问的资源。您不应为任何以下类型创建可远程控制的包装:扩展 MarshalByRefObject 的类型和实现恶意客户端可用来绕过安全系统的方法的类型。
这样来说,AppDomain可以把自己发布出去;至于发布出去是不是可以做我想做的事情,我会写一些代码来看看;
我觉得可能是.NET的API不全面的缘故吧,假如有权限,通过安全认证的某个程序的确希望列举当前系统中正在运行的全部AppDomain,是应该有一种机制来满足这种需求的;
penter
2004-06-25
打赏
举报
回复
谢谢楼上两位;
我看了MSDN,好象没有象WIN32下可以用来枚举当前系统中运行的Process的那种API;
如果可以得到AppDomain的引用,就可以在该域中用emit动态生成Assembly......
想做的事情,请看下面的连结:
http://www.blogbus.com/blogbus/blog/diary.php?diaryid=196144
不知道有人有没有兴趣?
maotroy
2004-06-25
打赏
举报
回复
AppDomain 之间不能通信,除非继承了MarshalByRefObject类,得到了也没什么意义吧,如果只是当前程序域的话用楼上的方法就可以了
CMIC
2004-06-25
打赏
举报
回复
AppDomain.CurrentDomain
penter
2004-06-25
打赏
举报
回复
或者说,根据已经知道的AppDomain.FriendlyName得到已有的 AppDomain的引用?
如何遍历
当前
进程
中
的
App
Dom
ain
.Net Framework居然没有提供托管的接口来获取
当前
进程
中
的其它
App
Dom
ain
!所以,我们只有借助承载接口(Hosting Interfaces)来完成这事了。 在MSCOREE.DLL
中
,.Net 1.0提供了一个ICorRuntimeHost接口,该接口
中
有Enum
Dom
ain
s和Next
Dom
ain
方法
,而幸运的是:MSCOREE.DLL
中
居然直接提供了一个Public...
C#:进程/线程/多线程/
App
Dom
ain
详解
本文介绍了C#
中
对于进程/线程/多线程/
App
Dom
ain
及同步异步的理解 本文可以结合之前的【C#-有关同步异步(Async/Await)的理解】这篇文章理解
理解
App
Dom
ain
现在是虚拟机时代了,Java称作JVM(Java 虚拟机),.NET称作 FrameWork(框架)。对照着两个体系,当
中
有很多异同,不过我感兴趣的是.NET
中
称作“
App
Dom
ain
”(应用程序域)的东东。这个概念如何准确的理解,对于.NET开发来讲有何意义?使用它需要注意些什么? 微软的.NET文档
中
app
Dom
ain
的解释相当简略(却不是很清楚J): “一个应用程序
《CLR via C#》笔记——
App
Dom
ain
(2)
四,卸载
App
Dom
ain
App
Dom
ain
很出色的一个能力就是它允许卸载。卸载
App
Dom
ain
会导致CLR卸载
App
Dom
ain
中
的所有程序集,还会释放
App
Dom
ain
的Loader堆。为了卸载一个
App
Dom
ain
,可以调用
App
Dom
ain
的静态
方法
UnLoad,这将导致CLR执行一系列的操作来卸载
App
Dom
ain
。 1,CLR挂起进程
中
执行过托管代码的所有线程。 2,CL...
CLR via C# 读书笔记 6-4 监控
App
Dom
ain
资源使用
可以通过将
App
Dom
ain
.MonitoringIsEnabled 设置为true开启监控域的资源 之后可以通过访问以下属性获取域的资源消耗 1. MonitoringSurvivedMemorySize 2. MonitoringSurvivedProcessMemorySize 3. MonitoringTotalAllocatedMemorySize ...
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章