これは以前に対処されたことは知っていますが、そのような文字列を返すサービスがあります。
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class MyService : System.Web.Services.WebService
{
[WebMethod]
public string Hello()
{
System.Threading.Thread.Sleep(10000);
return "Hello User";
}
}
次のようにメソッドを呼び出す必要があると言う多くの例を読みました。
MyService my = new MyService();
AsyncCallback async = new AsyncCallback(callback);
my.BeginHello();
Console.WriteLine("Called webservice");
問題は、参照を追加したときに、BeginHello メソッドを取得できなかったことです。私が見たのは HelloAsync だけでした。それで、コンソールアプリでこのように使用しました。
MyService my = new MyService();
AsyncCallback async = new AsyncCallback(callback);
my.HelloAsync();
Console.WriteLine("Called webservice");
このようなプライベートコールバックメソッドを定義しました
private void callback(IAsyncResult res)
{
Console.Write("Webservice finished executing.");
}
そうすることで、次のようなエラーが発生します。
非静的フィールド、メソッド、またはプロパティ 'AsyncWebserviceCall.Program.callback(System.IAsyncResult) にはオブジェクト参照が必要です
BeginHello メソッドが表示されないのはなぜですか? 上記のエラーが表示されるのはなぜですか?
御時間ありがとうございます。