我的项目包含大量服务,我们将它们分组到不同的域中,这使我们可以使用相应的 Urls 来调用它们,即
域 1
/FlightManagementDomain/SeatMaps
/FlightManagementDomain/Passengers
域 2
/ReservationsDomain/Tickets
/ReservationsDomain/Bookings
我可以让开发团队在每个命名空间上工作。即使两个团队在请求/响应/控制器对象的每个命名空间中创建两个具有相同名称的类,也不会引发错误。
因为我想切换到服务堆栈,所以我使用 SS 编写了一个 POC,其结构如下
请注意,我对请求对象“GetUsersRequest”使用了相同的名称。这编译并运行良好,但是当我单击元数据页面中的 json 或 xml 链接时,它会引发以下错误“序列包含多个匹配元素”
服务主机配置如下所示
现在,如果我将其中一个类名从“GetUsersRequest”更改为“GetUsersRequest1”,它将按预期工作并且错误消失。
我怀疑 SS 在代码中某处使用的是 Type.Name 而不是 Type.FullName。有没有办法在不重命名请求类的情况下避免这个错误?
我在这里附上了完整的源代码链接到源代码