我知道這已被解決之前,但我有服務,返回一個像這樣的字符串。異步web服務調用。無(Begin ...)方法可用!
[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");
的事情是,當我說我參考拿到coudn't的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方法&爲什麼我得到如上的錯誤?
謝謝你的時間。
請向我們展示整個類(回調和調用web服務的方法) – jgauffin 2010-10-14 11:06:59