Я знаю, что это уже решалось, но у меня есть служба, которая возвращает строку, подобную этой.
[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& Почему я получаю эту ошибку, как указано выше?
Спасибо за ваше время.