shiningrise / PluginMvc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

使用基于area的方式实现的吗?

diandian71 opened this issue · comments

代码挺好的,但是似乎是有一些不用了的代码,你最好清理一下,只留下有用的部分,这样看起来更加简单明了!另外插件的使用方式,最好也用文字说明一下!这样更加的清晰!

        //启动插件检测器。
        //PluginWatcher.Start();

这个不需要了么?
那他是如何侦测动态添加的插件的呢?

public class PluginRazorViewEngine : RazorViewEngine //ThemeableVirtualPathProviderViewEngine
这个类,似乎有很多原来重载的函数都没有用了吧?

好多都没用了,插件添加后,要重启主机才能启动新插件,所以插件检测也没意义,开发时要设置编译插件时同时编译主机才能看最新的效果,组件还需要优

组件做的事:复制插件dll,并给主机添加插件的dll引用

“好多都没用了,插件添加后,要重启主机才能启动新插件”,你的意思是组件发布后,拷贝目下,还需要重新启动一下网站么?
我理解的插件是这样的:有个主框架(主程序),主框架部署启动后,可以灵活的增加,减少插件来实现功能的动态添加,插件和主程序不应该有耦合,最起码不能有运行时的耦合!
你的上一个版本我感觉就可以实现这个意图,挺好的!

咱们设想一个程序一旦发布运行后,除非程序自己的故障,要不是不允许重启或者停机的,那我们实现添加,删除功能怎么办呢?动态添加,不影响程序的运行!!

你要的效果跟我想要的一样,但现在的状态是
https://github.com/shiningrise/Pluginhttps://github.com/shiningrise/PluginMvcWeb
都不能热插拔,我下午测试了,好像都不行,不是dll复制与加载问题,就是视图编译问题
没问题了,项目时间急,只能先将就了,,暂靠一段落

你能不能把这个整理一下,把无用的代码都删除掉。只保留有用的,然后弄个版本上来,大家看看!

你最后采用的是哪种方式呀。是这个呢,还是上一个版本呢?

我最多只能做到插件的自动添加,删除与修改还是得重启网站,看IPlugin分支
如果你不死心可以研究下orchard的插件实现,那程序有可能可以热插拔

恩。谢谢了。