运行时的Unity RegisterInstance(不是来自Config文件)

时间:2012-01-28 11:18:10

标签: c# wcf unity-container

我有一个wcf服务,它为系统中的所有其他服务提供主要配置。

根据配置,我想在运行时创建一个实例(RegisterInstance \ Type)。

我只找到了配置文件如何做的示例。

我想从配置服务中接收类型。 我可以从服务中获得的所有类型都是从同一个接口继承的。

如果没有配置文件,我该怎么办?

由于

2 个答案:

答案 0 :(得分:0)

如果服务必须发回足够的信息以便您能够执行注册,那么您需要传回完全限定的类型名称,包括程序集名称,然后您可以调用Type.GetType来获取然后可以传递给RegisterType

的类型对象

答案 1 :(得分:0)

我不能说我认为使用WCF服务以您计划的方式发送配置信息是一个好主意。

  1. 在客户端,您需要启动一个客户端(需要正确配置)
  2. 调用“配置服务”并从中获取任何信息
  3. 尝试在本地环境中理解它(查找在本地范围内可能没有的程序集中的类型等)。
  4. 配置UnityContainer的本地实例,然后
  5. 解析您的对象图并启动您的应用程序/服务
  6. 不是直截了当的解决方案恕我直言。

    但是如果你想坚持这个设置:为什么不直接发送配置xml?如果需要,甚至可以流式传输xml。