Egeye‘s BLOG

Egeye AddIn Framework - An OSGi like service framework for the .Net platform.

统计

常用链接

留言簿

.NET

Egeye AddIn

OSGi Articles

标准组织

优秀站点

阅读排行榜

评论排行榜

Egeye AddIn Framework - An OSGi like service framework for the .Net platform.

Egeye AddIn Framework 是一个 。NET 平台上类似 OSGi 的服务框架,目前发布第一个版本,目前包括 AddIn Framework 的一个核心,一个 Console 和几个测试插件。

主要特性:

1、开源,基于 New BSD License 协议
2、在 .NET 2.0 平台实现,类似 OSGi 的服务框架
3、完全基于扩展的方式开发,支持插件生命周期管理
4、包括一个 Console 控制台,可以安装、运行、停止控制插件

使用:

1、Run "Egeye.exe".
2、You can type install / start / launch(install & start)/... paramaters.
3、E.G. you can type launch DesktopTest to launch a Desktop sample addIn.

下载:

项目地址:http://www.codeplex.com/EgeyeAddIn

截图:

Egeye Console:
 

posted on 2008-01-01 08:26 egeye 阅读(1136) 评论(8)  编辑 收藏 网摘

评论

#1楼 2008-01-01 23:59 oxsoft.cn[未注册用户]

怎么样使用?   回复  引用    

#2楼[楼主] 2008-01-02 08:48 egeye      

{%Solution%}\AddIn_Test 目录下为测试插件,所有项目均编译输出到 bin\Debug 目录(Debug 模式),运行Debug目录下, Egeye.exe。

打开平台的 Console ,可以任意安装、运行、卸载插件。

示例:
1、安装服务测试工程插件,控制台中执行 launch ServiceTest
2、安装服务客户端工程插件,控制台中执行 launch ServiceClientTest
3、第二步将输出 Say hello:Hello. 其中使用了第一步加载的服务
  回复  引用  查看    

#3楼 2008-01-25 10:59 梁锐[未注册用户]

不错的东西。
我添加了一个WPF的窗口作为插件来测试,不过会出现线程调用的问题。WPF的窗口必须用STA的线程来调用。我用一个System.Windows.Application的实例来启动,通过这个实例的Dispatcher来实例化窗口。不知道这么做有没有潜在的问题,博主可以试试。
另外,博主的工程里面,一个Shell的实例就是一个OSGI的内核吧?感觉取个Shell这个名字容易晕乎啊。。
  回复  引用    

#4楼 2008-03-10 17:57 向冬[未注册用户]

保持关注!工作的原因,可能要参与你的这个项目!
终于找到有人再做这块的努力了!
我最近都在分析Eclipse的机制和代码
  回复  引用    

#5楼 2008-03-23 22:10 Noah liu[未注册用户]

我刚试了一下,运行出错。能提供一个vs2005的solution?   回复  引用    

#6楼 2008-04-10 17:03 foobarren[未注册用户]

这个OSGI 没有实现 Update 的功能,楼主对这方面技术上有什么考虑么?   回复  引用    

#7楼 2008-10-27 11:49 chengh[未注册用户]

非常感谢你的实现,但是,就我这两天看到的内容,觉得的.NET下实现OSGi存在一定的问题。
(1)使用AppDomain实现不同的classLoader,比java成本高,为什么?
.NET程序跨不同的AppDomain调用非常消耗资源。不如java来得有效率(很可能)。
就这一点,在我看来,我就可能需要实现一个自己的简化版本的OSGi,当然这也不叫OSGi了,去除AppDomain方式管理不同的bundle,虽然给系统带来很多限制性,但当考虑性能时,我不得不这么做。

  回复  引用    

#8楼 2008-10-29 13:55 chengh[未注册用户]

我发现这个实现中,对component.addin中的reference的理解有误。
是我A引用B,当B服务发生变化时,调用A的方法,主动注册或注销B。
现在的实现是,A变化时,调用B的方法,注册或注销A。方向反了,理解上很别扭。
  回复  引用    




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1022057




相关文章:

相关链接: