在将结果返回给用户后,我需要在 C# webservice 中调用一些函数,所以我打算使用 OneWay 方法。
我在同一个项目上创建了 2 个 Web 服务,如下所示:第一个:调用者服务:
public class Caller : System.Web.Services.WebService {
[WebMethod]
public string HelloWorld() {
var bg = new Background();
bg.HelloWorldBG();
return "Hello World";
}
}
第二个要在后台调用的服务:
[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples", SessionMode = SessionMode.Required)]
public class Background : System.Web.Services.WebService {
[SoapDocumentMethod(OneWay = true)]
[WebMethod(EnableSession = true)]
public void HelloWorldBG()
{
Thread.Sleep(60000);
var file = @"D:\testHello.txt";
File.WriteAllText(file, "Hello World");
}
}
但是当我调用 HelloWorld() 它在完成 HelloWorldBG() 的执行之前不会返回