如何将Web服务返回的对象保持为ArrayOfString
?
情境:
我在使用Web服务的应用程序中进行维护,而某个对象将List<string>
作为ArrayOfString
返回。 Update在哪里引用WebService,返回移至string[]
您可以做什么以保持为ArrayOfString
?
它也回来了:
private string[] motivoInterrupcaoField;
何时应该返回:
[System.Runtime.Serialization.OptionalFieldAttribute()] 私人Atendimento.wsAtendimento.ArrayOfString MotivoInterrupcaoField;
谢谢,
答案 0 :(得分:1)
如果您的服务方法返回List<string>
,您将看到此返回值已转换为代理中ArrayOfString
类型的对象。当您的服务方法设计为返回string[]
时,您会在代理中找到string[]
。
如果服务方法的返回值已更改,则表示服务合同的客户端已更改。如果您不控制合同,那么您可以做的事情并不多,除了实现您自己的ArrayOfString类以便在客户端上使用(其中,imo,应该不是那么难)。
我认为这不是一个糟糕的解决方案,因为它确实意味着您只需使客户端适应对服务合同所做的更改。