使用基于area的方式实现的吗?
diandian71 opened this issue · comments
代码挺好的,但是似乎是有一些不用了的代码,你最好清理一下,只留下有用的部分,这样看起来更加简单明了!另外插件的使用方式,最好也用文字说明一下!这样更加的清晰!
//启动插件检测器。
//PluginWatcher.Start();
这个不需要了么?
那他是如何侦测动态添加的插件的呢?
public class PluginRazorViewEngine : RazorViewEngine //ThemeableVirtualPathProviderViewEngine
这个类,似乎有很多原来重载的函数都没有用了吧?
好多都没用了,插件添加后,要重启主机才能启动新插件,所以插件检测也没意义,开发时要设置编译插件时同时编译主机才能看最新的效果,组件还需要优
组件做的事:复制插件dll,并给主机添加插件的dll引用
“好多都没用了,插件添加后,要重启主机才能启动新插件”,你的意思是组件发布后,拷贝目下,还需要重新启动一下网站么?
我理解的插件是这样的:有个主框架(主程序),主框架部署启动后,可以灵活的增加,减少插件来实现功能的动态添加,插件和主程序不应该有耦合,最起码不能有运行时的耦合!
你的上一个版本我感觉就可以实现这个意图,挺好的!
咱们设想一个程序一旦发布运行后,除非程序自己的故障,要不是不允许重启或者停机的,那我们实现添加,删除功能怎么办呢?动态添加,不影响程序的运行!!
你要的效果跟我想要的一样,但现在的状态是
https://github.com/shiningrise/Plugin 与 https://github.com/shiningrise/PluginMvcWeb
都不能热插拔,我下午测试了,好像都不行,不是dll复制与加载问题,就是视图编译问题
没问题了,项目时间急,只能先将就了,,暂靠一段落
你能不能把这个整理一下,把无用的代码都删除掉。只保留有用的,然后弄个版本上来,大家看看!
你最后采用的是哪种方式呀。是这个呢,还是上一个版本呢?
我最多只能做到插件的自动添加,删除与修改还是得重启网站,看IPlugin分支
如果你不死心可以研究下orchard的插件实现,那程序有可能可以热插拔
恩。谢谢了。