2

我正在尝试从我的 api 的 web.config 填充对象集合。我已经正确地提取了这些对象的所有属性,除了一个,这是我们对象中的另一个自定义对象。

现在,如果我将可转换属性添加到类中,一切正常,但是通过在我们的域中添加对 castle.windsor 的外部引用破坏了我们的洋葱架构。具有可转换属性的复杂参数在此处详细说明

web.config 的城堡部分中的 Xml(去掉了绒毛)如下所示:

<component id="uniqueId" type="Project.Domain.Objects.Object, Project.Domain">
    <parameters>
    <Id>1</Id>
    <Name>name1</Name>
    <geofenceLocation>
      <parameters>
      <latitude>12</latitude>
      <longitude>44</longitude>
      <radius>100</radius>
      </parameters>
    </geofenceLocation>
    </parameters>
  </component>

我试图在不添加可转换属性的情况下进行序列化的对象是 geofenceLocation 对象。有没有办法将属性注入对象,以便我们可以在 Api 中注入 Convertible 属性,或者有其他方法可以解决这个问题吗?

谢谢你的时间。

4

1 回答 1

2

您可以将 geofencelocation 作为一个新组件来处理,如下所示:

<component id="geofenceLocation" type="your.type.here, your.assembly">
    <parameters>
      <latitude>12</latitude>
      <longitude>44</longitude>
      <radius>100</radius>
    </parameters>
</component>

以及从您的其他组件中对它的引用,如下所示:

<component id="uniqueId" type="Project.Domain.Objects.Object, Project.Domain">
    <parameters>
      <Id>1</Id>
      <Name>name1</Name>
      <geofenceLocation>${geofenceLocation}</geofenceLocation>
    </parameters>
</component>

希望能帮助到你。再见

于 2013-08-08T10:20:56.610 回答