1

我必须创建一个 C# Web 服务。我有个问题。可以使用ref参数吗?比如我有这个方法

//my web service will fill the parameter by reference
int myWSMethod(int parameterA, ref string parameterB);

这可以通过网络服务实现吗?

4

2 回答 2

6

如果您的问题只是想弄清楚如何从 Web 服务返回多个值,只需返回一个复杂类型即可。

[DataContract]
[Serializable]
public class myWSMethodResponse
{
    [DataMember]
    public int ErrorCode { get; set; }
    [DataMember]
    public string Report { get; set; }
}

public myWSMethodResponse myWSMethod(int parameterA)
{
  //code here
}
于 2013-04-04T19:13:17.527 回答
1

我不确定您为什么要这样做,但基于MSDN,您可以这样做。

OutRef参数

在大多数情况下,您可以使用 in 参数(ByVal在 Visual Basic 中)和outandref 参数(ByRef在 Visual Basic 中)。因为outref参数都表示从操作返回数据,所以如下所示的操作签名指定即使操作签名返回,也需要请求/回复操作void

例子:

[ServiceContractAttribute]
public interface IMyContract
{
  [OperationContractAttribute]
  public void PopulateData(ref CustomDataType data);
}
于 2013-04-04T19:13:35.590 回答