ref参数对Web服务的用途

时间:2012-09-27 15:08:45

标签: web-services ref

好的,我已经获得了一些示例代码,我本来应该使用一个示例来说明如何使用产品...我已经获得了这段代码:

protected void checkout_Click(object sender, EventArgs e)
{
    OurWebServiceClient client = new OurWebServiceClient();
    this.session = client.BindAccount(ref this.session);
    client.FinalizeSession(this.session);
    client.Close();
    this.checkout.Text = "success";
    this.checkout.Enabled = false;
}

因此,由于各种原因,这段代码对我来说有点奇怪,但对我来说突出的是该方法的第二行:

this.session = client.BindAccount(ref this.session);

它是一个参考,所以this.session实际上可以在通话后指向另一个对象。除此之外,他们将this.session分配给通话中返回的值,吹走(据我所知)他们通过将其作为参考获得的任何东西。无论如何将ref变量传递给Web服务意味着什么?

1 个答案:

答案 0 :(得分:0)

该Web服务返回的内容将分配给this.session。由于将this.session分配回返回的值,因此ref的使用将丢失。

通过将参数作为ref传递给Web服务,您可以获得任何其他方法调用所期望的功能,即您对该参数的更改将被反射回来。但是IMO这不是编写Web服务代码的好方法。这令人困惑。

相关问题