我正在实施 IIS 托管 WCF Web 服务以接受来自第三方的潜在客户。在保存信息之前/之后可能会发生很多操作。我正在考虑将其实现为基于插件的架构。
预保存操作的示例是
- 保存前重复检查
- 确保信息有效(不是米老鼠)
保存后操作是
- 基于邮政编码的路由到正确的仓库
- 领导任务。
我一直在阅读有关 MEF 的信息,但我无法确定这是否真的值得实施 MEF,因为每次调用加载和卸载插件可能会增加开销?有没有办法以某种魔法加载所有插件application_start
?
我正在实施 IIS 托管 WCF Web 服务以接受来自第三方的潜在客户。在保存信息之前/之后可能会发生很多操作。我正在考虑将其实现为基于插件的架构。
预保存操作的示例是
保存后操作是
我一直在阅读有关 MEF 的信息,但我无法确定这是否真的值得实施 MEF,因为每次调用加载和卸载插件可能会增加开销?有没有办法以某种魔法加载所有插件application_start
?
我同意 Steven 的观点,您不需要为此使用插件架构。您可以使用设计合理的服务。在 Steven 的博客文章——编写高度可维护的 WCF 服务中,有一些非常好的提示。
尽管如此,要回答问题的第二部分,没有什么可以阻止您初始化 MEF 组合容器Application_Start
并将其静态存储(除了它引入了全局状态,这通常是一个糟糕的设计决定)。然后它将在请求之间共享,您可以根据需要使用它来组合部件,而无需重复导出发现的开销。