我刚开始玩MEF并有几个问题。有关在WCF服务中使用MEF的问题
1)我写了一个WCF服务,它接受一些xml并将xml传递给解析器。解析器使用MEF编写。 (xml中的元数据让我确定使用哪个解析器)。我可以添加一个新的解析器,并支持新的XML,只需将dll放入目录即可。这部分全部有效。但是,WCF服务可以多次实例化,我希望我的解析器目录是静态的,也就是说,如果我的服务的多个实例被启动,并且它们获得相同的XML,我只需要运行一个解析器实例,它们被写成线程安全的。我似乎无法配置MEF来执行此操作。任何人都知道吗?
2)我可以放入一个新的解析器到目录中,并且目录刷新会自动发现它,这很好。但是,如果我尝试将修改后的dll放入目录中,并且该解析器已在服务中激活,则会出现错误,指出该文件正在使用中。有没有办法来覆盖这个?
感谢您抽出时间Daniel。是的,我试过号码1,没有工作。不知道为什么,虽然现在想,但我是否可以将它放在单独的类中,因此它是基于实例的,不是静态的,而是对该类的静态引用。我会尝试的。 2,我同意。但我希望丢弃一个DLL类似于放弃web.config更改,它会自动强制执行一次回收。但是如果不停止服务,我甚至不能放弃dll。 – 2010-07-14 12:52:45