我正在查看其他人的WCF服务合同,并注意到它正在使用out参数:
client.SomeMethod(parameter1, parameter2, out someOutParameter);
Run Code Online (Sandbox Code Playgroud)
是否有充分的理由使用out参数而不是将其添加到响应中?
编辑
这是代理生成的:
public string CreateItem(string contract, string note, out string warning)
Run Code Online (Sandbox Code Playgroud)
现在如果他们需要返回一个字符串并且还有一个警告,我通常会看到它:
public class CreateItemResponse
{
public string Result { get; set; }
public string Warning { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我只是好奇,如果有一个很好的理由不这样做,并使用返回的字符串和字符串作为out参数.
是否有充分的理由使用out参数而不是将其添加到响应中?
不在Web服务合同中.也许懒惰和不愿意定义一个额外的数据合同用作返回类型一直是这个设计决策的驱动力.out,ref是特定于.NET的工件.良好且可互操作的服务合同不应依赖于特定于语言的工件.
| 归档时间: |
|
| 查看次数: |
4223 次 |
| 最近记录: |