【发布时间】:2015-01-19 06:37:10
【问题描述】:
我的问题比较理论化,对于冗长的序言感到抱歉
我正在开发一个包含客户端部分和服务部分的框架。客户端与 WCF 服务通信,服务将消息从一个客户端广播到其他客户端(消息包含 Operations)。关键是如果有人想使用它,他创建自己的自己的操作类型并实现知道如何处理它的组件(Transformor)并给出这给服务和客户端管理器,它们基本上将处理通信并使用用户实现的转换器进行必要的修改(如果您感兴趣,它基本上是系统 described here 的 c# 实现)。
现在我的问题是,如果我希望能够创建自己的操作类型(即 DataContracts),我不能依赖 KnownTypes,因为如果不重新编译框架源代码,它就无法扩展它作为一个框架完全没用。在寻找解决方案时,我找到了this article,它提供了一个使用通用解析器的解决方案,它可以解析调用程序集和引用程序集中的所有类型。现在这是我有点失落的部分。
在客户端(如果我尝试使用此框架),我只需使用通用解析器来解析包含我自己的操作类型的引用程序集中的类型。如果我将服务托管在一个单独的应用程序中(我目前这样做是为了测试),那么这个过程是对称的。但是如果我想在 IIS 上托管服务会发生什么。在这种情况下,您将如何将用户定义的类型提供给服务。
到目前为止,我唯一能想到的就是创建一个新项目,创建服务类的子类,使用用户定义的操作引用程序集并使用通用解析器。有没有更清洁的方法来做到这一点?
【问题讨论】: