In Ihr Beispiel PageMethods.DoSomething sollte einen Rückgabewert haben, der gleich WebRequest ist, wenn es sich um einen ASP.net-Web-Service-Proxy handelt. Dies wird bereitgestellt, damit Sie die Anforderung bearbeiten können, nachdem Sie sie initiiert haben (d. H., Sie abbrechen etc.).
Mit dieser Klasse verfügen Sie über eine add_completed-Methode, mit der Sie einen Handler für den Abschluss der Webanforderung hinzufügen können. Die Signatur für den Rückruf lautet function OnWebRequestCompleted(executor, eventArgs)
, und der Parameter executor
ermöglicht Ihnen, zusätzliche Antwortinformationen zu erhalten. Beispielsweise können Sie die Antwortheader mit executor.getAllResponseHeaders()
abrufen; Dies sollte eine Zuordnung (benannte Sammlung) von Headernamen und Werten sein.
Wenn Sie also unmittelbar nach dem Aufruf der Servicemethode einen Handler zum abgeschlossenen Ereignis der Webanforderung hinzufügen, sollte es funktionieren (es gibt keinen Webdienst auf der Welt, der schneller als zwei aufeinanderfolgende Codezeilen antworten kann!).
Der vorherige Hyperlink zu WebRequest enthält ein vollständiges Beispiel dafür, wie dies funktioniert. Beachten Sie jedoch, dass dieser Code WebRequest direkt verwendet.
Asp.Net Ajax-Web-Service-Proxy-Klassen verwenden, um die WebServiceProxy
Klasse, und jeder Proxy-Methode schließlich seine invoke
Methode aufrufen, die die WebRequest
Instanz zurückgibt.
Danke Lord Zoltan. Das sind sehr hilfreiche Informationen! – James
froh, von Nutzen zu sein;) –