1

默认情况下,Web 服务调用是同步的还是异步的?服务或客户端如何确定同步性?

我有类似于以下的代码:

try
{
    string result = MakeWebServiceCall_1(); // this is a third party webservice
    MakeWebServiceCall_2(result); // another webservice which must happen *after* the first one is complete
}
catch()
{
    SetStatus(Status.Error); // this calls my own stored procedure
    throw;
}
SetStatus(Status.Sucess);

在上面,SetStatus正在写入第三方 Web 服务读取的相同表。如果我在两个 Web 服务调用完成之前更改状态,那会造成很大的混乱,我会被解雇。我如何知道/确保 Web 服务调用是同步的?

4

1 回答 1

2

根据 MSDN,当您添加对 Web 服务的引用时,它将实现在代理类中同步和异步调用 Web 服务的方法。你只需要确保你打电话给正确的人。

使用“添加 Web 引用”对话框为应用程序找到要访问的 XML Web 服务后,单击“添加引用”按钮将指示 Visual Studio 将服务描述下载到本地计算机,然后为所选 XML 生成代理类网络服务。代理类将包含用于同步异步调用每个公开的 XML Web 服务方法的方法。 资源

于 2010-07-29T09:03:06.163 回答