Groups | Blog | Home
all groups > dotnet web services > december 2007 >

dotnet web services : do u know to call async webmethod from javascript?


jojoba@gmail.com
12/11/2007 4:47:15 PM
Hi

I am running asp.net ajax (vs 2008)
I have the following webservice listed below.
However, i have no idea how to call this from javascript.
Originally, before i started using the BeginXXX and EndXXX as per
http://msdn2.microsoft.com/en-us/library/aa480516.aspx
I could easily call the webmethod via in this case
"WebService_speech.GenerateSpeechDataForText"
but now im not sure how to call it.
Any ideas?
Thx for any help here...greatly appreciated
matt

WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class WebService_speech : System.Web.Services.WebService
{
public System.Speech.Synthesis.SpeechSynthesizer TtsVoice;

public WebService_speech()
{
//Uncomment the following line if using designed components
//InitializeComponent();
}

public delegate string GenerateSpeechDataForTextAsyncStub(string
text);

//meat of the method (heavy lifting done here)
//where the actual speech data is extracted from the text
public SpeechData GenerateSpeechDataForText(string text)
{
//do speech stuff here
//i removed the processing code
return SpeechData_;
}

//state monitor for the GenerateSpeechDataForText service
public class MyState
{
public object previousState;
public GenerateSpeechDataForTextAsyncStub asyncStub;
}

//start the GenerateSpeechDataForText method
[WebMethod]
public IAsyncResult BeginGenerateSpeechDataForText(string text,
AsyncCallback cb, object s)
{
GenerateSpeechDataForTextAsyncStub stub = new
GenerateSpeechDataForTextAsyncStub(GenerateSpeechDataForText);
MyState ms = new MyState();
ms.previousState = s;
ms.asyncStub = stub;
return stub.BeginInvoke(text, cb, ms);
}

//end the GenerateSpeechDataForText method
[WebMethod]
public SpeechData EndGenerateSpeechDataForText(IAsyncResult call)
{
MyState ms = (MyState)call.AsyncState;
return ms.asyncStub.EndInvoke(call);
}
}
Spam Catcher
12/13/2007 5:05:02 AM
jojoba@gmail.com wrote in news:6e3b64fc-348f-45d8-885c-71a90b474574
@s19g2000prg.googlegroups.com:

[quoted text, click to view]

I don't think Async callbacks are standards compliant... so I don't
think you'll be able to call them from AJAX...



[quoted text, click to view]



--
AddThis Social Bookmark Button