tiray

博客园 首页 新随笔 联系 订阅 管理
  6 Posts :: 0 Stories :: 39 Comments :: 0 Trackbacks

最新评论

用abstract class 写插件非常不好。。应该用接口
好文章,期待第三讲!
第三篇文章呢?十分期待
刚刚实现了一个erp系统中的插件,发现可以在插件中继续在设计一个插件,无限扩展。。。
收到了来自yodao的反馈信息,原来yodao的Ping Service目前不支持Ping Service扩展方法的"Tag"标签,即只支持发送4个参数,而不是5个参数。
有道的反馈信息请看:http://www.tiray.net/post/e5afb9e69c89e98193(-wwwyoudaocom-)e58d9ae5aea2Ping-Servicee68ea5e58fa3e79a84e8b4a8e79691.aspx
--引用--------------------------------------------------
tdy: Tiray Blog Ping 并没有真正检测返回的flerror值吧?我用FIDDLER截获的数据包表明,某些网站返回了不支持weblogUpdates.extendedPing的信息,但是软件依然提示"完成"
--------------------------------------------------------
遇到你这样的高手,我还能说什么呢?只有尽快更新下一版了!
楼主留下名来!
Tiray Blog Ping 并没有真正检测返回的flerror值吧?我用FIDDLER截获的数据包表明,某些网站返回了不支持weblogUpdates.extendedPing的信息,但是软件依然提示"完成"
怎么总是出现超时错误啊?
呵呵,恭候lz下文阿
--引用--------------------------------------------------
ServerLandon: "不知道IUnkonw接口和QueryInterface函数,你怎么可能通过Microsoft的MCSD认证考试?"

上面这句话楼主有笔误
--------------------------------------------------------
多谢指正!
"不知道IUnkonw接口和QueryInterface函数,你怎么可能通过Microsoft的MCSD认证考试?"

上面这句话楼主有笔误
--引用--------------------------------------------------
天下叁: 汗一个,我不是那个意思。我说的是比如你通过插件获得多个对象后,然后设置这些对象的一些属性,然后程序关闭了。等下次程序启动的时候,要重新获得上次设置的这些对象,这个就需要序列化,而不是说的是去获得插件的属性,插件的属性可以通过attribute来描述。
--------------------------------------------------------
可能是我说的不太清楚吧!在下一讲中我会向您详细解释插件的序列化的。实际上在我的一个工控软件项目中,我就是用序列化保存插件实例的有关设置的。
--引用--------------------------------------------------
BigBar: --引用--------------------------------------------------
Lucky Jack: 学习了,为什么我的VS05下没有"Activex Test Container”"呢?
--------------------------------------------------------

我的也没有!
--------------------------------------------------------
可能是安装vs.net2005的时候没有选择安装吧!
汗一个,我不是那个意思。我说的是比如你通过插件获得多个对象后,然后设置这些对象的一些属性,然后程序关闭了。等下次程序启动的时候,要重新获得上次设置的这些对象,这个就需要序列化,而不是说的是去获得插件的属性,插件的属性可以通过attribute来描述。
--引用--------------------------------------------------
Midapex Village: 使用Sytem.Reflection.Assembly类的CreateInstance方法创建的实例怎么序列化呢,怎么保存它们楼主考虑没有?而且Directory.GetCurrentDirectory()+@"\plugin";使用这个作为目录在复杂引用的时候,会导致引入组件失败。最好是放在Directory.GetCurrentDirectory目录中。

--------------------------------------------------------
序列化和运行时创建实例并不冲突啊,关键是看在代码中如何实现了。在我所举的例子里,每一个插件都需要有一个实例,所以我这样用了。一种更常用的方法是使用Sytem.Reflection.Assembly类的CreateInstance方法创建一个临时的实例,用于获取插件的一些有关信息,如插件的名称等,以提供给用户交互时使用。您所说的复杂引用问题确实存在,可以通过在环境变量中添加相关运行目录的方法解决。

学习一下,以前用过插件,但不是很理解其原理,那是是菜鸟啊!,虽说现在也是,但比那是要强一点!
是不是某些部份可以交给IoC去做?
特别是如果plugin可能会依赖于其它的plugin或者原有系统中的某些service的时候。
能不能把可运行的代码放上来
--引用--------------------------------------------------
Lucky Jack: 学习了,为什么我的VS05下没有"Activex Test Container”"呢?
--------------------------------------------------------

我的也没有!
路过,学习!
使用Sytem.Reflection.Assembly类的CreateInstance方法创建的实例怎么序列化呢,怎么保存它们楼主考虑没有?而且Directory.GetCurrentDirectory()+@"\plugin";使用这个作为目录在复杂引用的时候,会导致引入组件失败。最好是放在Directory.GetCurrentDirectory目录中。
look at this:
http://www.msup.com.cn/viewCourse,2008414-1057.aspx
It is all about the extensibilities of software systems.
--引用--------------------------------------------------
leadnt.org: 疑问:framework是03年后推出的吗?应该是01年吧?
--------------------------------------------------------
是我不够严谨!以后会注意的!
--引用--------------------------------------------------
未注册用户: 人家说了.NET就是COM 3.0
你如果学习过COM的话,你会发现.NET及C#的许多特性都是从COM来的
--------------------------------------------------------
有道理!学习了!
人家说了.NET就是COM 3.0
你如果学习过COM的话,你会发现.NET及C#的许多特性都是从COM来的
学习了,为什么我的VS05下没有"Activex Test Container”"呢?
@Justin
微软大部分软件都基于COM,比如Office。装好Office之后,注册表会多出很多COM项
CLR底层也是通过COM来实现的吧
支持楼主。插件万岁。
期待后续文章。
其实一直对像Eclipse那样的插件架构很感兴趣
疑问:framework是03年后推出的吗?应该是01年吧?
插件怎么可能过时呢?
现在写程序哪个人没有调用别人的dll呢?



软件破解研究工作室!破软件找我们
官方网站:
http://wwwpj.zhan.cn.yahoo.com
电子邮箱:591103983@qq.com
qq号码: 591103983
电话:13157158238(张威)
软件破解研究qq群:40691973
专业软件开发,修改,oem,加密解密,复制狗,克隆狗,反编译,逆向工程等服务
破解新的软件请联系 ,一般在3个工作日可以完成
支持,俺觉得插件不会过时,最多会被其他的形式所替代,反正浏览器总要扩展。