C#异步soap对象句柄

时间:2010-10-12 10:42:10

标签: c# .net wcf asynchronous

有没有办法将处理程序附加到soap调用?

例如:

我正在为数据网格中的每一行调用一行验证。然后调用异步soap服务。在返回异步时,有可能知道我调用了哪一行而没有来回传递某种id?

由于

2 个答案:

答案 0 :(得分:2)

如果为每一行打一个电话。您可以将该行作为用户名传递。例如,使用基于事件的异步方法http://msdn.microsoft.com/en-us/library/ms730059.aspx

client.AddCompleted += new EventHandler<AddCompletedEventArgs>(AddCallback);
client.AddAsync(value1, value2, row);

并检索回调方法中的行

static void AddCallback(object sender, AddCompletedEventArgs e) { var row = e.UserState as RowType; }

答案 1 :(得分:0)

如果您使用相同的处理程序来处理来自不同行的所有调用,那么您必须这样做。否则,如果你有每行的处理程序,那么你就不会。

它类似于处理程序,例如按钮点击。如果对多个按钮使用相同的处理程序,则需要检查sender对象。

我建议你在HTTP heades中使用一个值来设置ID并回调调用者。在某种程度上,这不应该在您的Soap消息中,因为服务器不需要知道您的ID。