結果をユーザーに返した後、C# Web サービスでいくつかの関数を呼び出す必要があるため、OneWay メソッドを使用する予定です。
次のように、同じプロジェクトに 2 つの Web サービスを作成しました: 1 つ目: 呼び出し元サービス:
public class Caller : System.Web.Services.WebService {
[WebMethod]
public string HelloWorld() {
var bg = new Background();
bg.HelloWorldBG();
return "Hello World";
}
}
バックグラウンドで呼び出される 2 番目のサービス:
[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() の実行が完了する前に戻りません。