好的,我已经获得了一些示例代码,我本来应该使用一个示例来说明如何使用产品...我已经获得了这段代码:
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服务意味着什么?
答案 0 :(得分:0)
该Web服务返回的内容将分配给this.session
。由于将this.session
分配回返回的值,因此ref的使用将丢失。
通过将参数作为ref传递给Web服务,您可以获得任何其他方法调用所期望的功能,即您对该参数的更改将被反射回来。但是IMO这不是编写Web服务代码的好方法。这令人困惑。