惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
宝玉的分享
宝玉的分享
V
V2EX
MongoDB | Blog
MongoDB | Blog
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
博客园 - 聂微东
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
Martin Fowler
Martin Fowler
大猫的无限游戏
大猫的无限游戏
Recent Announcements
Recent Announcements
人人都是产品经理
人人都是产品经理
博客园 - 司徒正美
美团技术团队
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
Hugging Face - Blog
Hugging Face - Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
B
Blog RSS Feed

博客园 - 星际探索

客户信息数据库设计备忘录 饼状图的改进(解决零值和数值无限小的显示问题) 实现分支机构和集团数据同步的坎坷历程 读《理财有道》有感 自动更新程序的设计框架 关于呼叫中心业务系统构架方面的设想 关于软件产品化的一些设想 公司面试内容建议 基于微软WCF技术的新一代热线系统构架 关于实时监测系统的设计思路 把英文版软件卖给德国客户的辛苦历程 万事开头难 关于数据同步的方法和优缺点比较 经验 神话 和谐的社会 奇怪的社会 一个简单实用的日志记录类 接口服务程序经验和建议 监控程序框架 项目数据库设计的一点体会
关于监控程序的一点设想
星际探索 · 2007-05-08 · via 博客园 - 星际探索
 

引子:

为了完善和改进后台监控程序,最近一直在研究Remoting技术,希望能找到Remoting的双向通讯的方法。只有实现了双向通讯,才能有效地解决监控程序和被监控程序的交互。

偶然:

    在看《用框架的设计与实现——.NET平台》这本书的时候,里面有一章节观察者设计模式 介绍了利用Remoting技术,进行事件的注册和触发。这项技术可以用在各个程序间的互相通讯领域。但是把这项技术应用到监控中去,必须对原来的构架进行改变,即把监控程序本身作为一个客户端,来和被监控的程序通过服务端进行交互,达到监控的目的。但是因为不想对现有的程序做这么大的改变,所以当时这项技术被我pass

绝望:

    为了直观,通讯程序必须在托盘处建立图标。但是如果我把通讯程序的主窗体隐藏,因为监控程序无法找到窗体句柄,导致CloseMainWindow()函数无法正确执行,也就不能正常关闭被监控程序(通讯程序)。导致必须用Kill函数强行结束监控程序。这样托盘处的图标也就没有办法消除。

    通过在网络上查找资料,发现一篇文章,彻底否定了我原来的设想。(http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=1429649&SiteID=14

只好另想办法。

瑞星:

    突然想起瑞星在更新程序的时候,会把监控服务停掉。这样瑞星的更新程序会面临和我相同的问题。查看系统服务,一个服务让我眼前一亮,那就是Rising Process Communication Center服务。估计瑞星所有的程序都是通过这个通讯服务来进行互相的交互。看来我在《用框架的设计与实现——.NET平台》书中看来的技术是解决这个问题的唯一出路了。