在这方面遇到了一些障碍,想知道我哪里出错了。
我们的服务器有两个类:Order 和 OrderDto。Order 类创建我们的领域对象,OrderDto 类创建我们的 DTO 对象。
DTO 类具有以下修改它的属性:
[Serializable]
[XmlRoot("Order"), SoapType("Order")]
public class OrderDto : IDto
XmlRoot/SoapType 属性的目的是使 OrderDto 以类 Order 的形式出现给最终用户。它目前没有这样做。这是我的 Web 服务的方法,它通过服务引用从另一个项目中调用:
[WebMethod(Description = "Creates a new order with project information.")]
public OrderDto CreateOrderByProject(string name, string description)
{
OrderDto orderDto = OrderDto.Create(name, description);
return orderDto;
}
[Test]
public void CreateOrderWithValidProjectSubcode()
{
OrderDto orderDto = WorkflowServices.CreateOrderByProject(OrderName, OrderDescription);
}
如您所见,WorkflowServices.CreateOrderByProject 声明自己返回的是 OrderDto 类型的对象,而不是 Order 类型的对象。
如何修改此代码以使最终用户看到 Order 而不是 OrderDto?
编辑:似乎使用 XmlType(TypeName = "Order") 可能就足够了。打算继续玩。