Join en-US

Invocando métodos de WebService desde JavaScript

published 12/19/2008 11:26:06 AM by Manuel Fernando

Microsoft Ajax Library nos permite ejecutar comunicación asíncrona mediante llamadas a webservice desde el navegador del cliente al servidor a esto es muy comúnmente se le denomina RPC (Remote Procedure Call) llamada a procedimiento remoto. El framework de ASP.NET AJAX hace más fácil y de manera más transparente la comunicación entre Javascript y los WebService.


Para agregar un webservice se debe realizar un clic derecho sobre la raíz del proyecto web en el explorador de soluciones y dar clic en el menú agregar un nuevo ítem.



Configurando el servicio

Para permitir llamadas desde javascript al webservice se debe agregar el atributo System.Web.Script.Services.ScriptService a la clase que define el comportamiento del webservice. Como se muestra a continuación en el archivo behind del webservice.asmx.


C#

VB.NET

En el siguiente fragmento de código se encontrar un sencillo método que será invocando desde javascript. Para que los métodos puedan ser invocados desde el cliente deben contar con el atributo WebMethod.


C#

VB.NET

Llamando los métodos del Webservice desde Javascript

Para hacer la referencia al webservice el control ScriptManager proporciona la propiedad Services que es una colección de objetos ServiceReference que son referencias a webservice locales. La propiedad Path del objeto ServiceReference debe ser establecida con la ruta de los webservices locales.


Para invocar un método del webservice referenciado debe ser invocado de la siguiente manera el nombre del servicio y el método definido. Si la definición del servicio está dentro de un namespace. Se debe invocar el método de la siguiente manera namespace.servicio.metodo.


Cuando se invoca el método se deben enviar algunos parámetros extras los cuales son el nombre de la función de devolución de llamada que será invocada cuando se complete la solicitud exitosamente, el siguiente parámetro extra es el nombre de la función de devolución de llamada que será invocada si se genera alguna falla en el proceso de solicitud. Y el ultimo parámetro nos permite proporciona un mecanismo para pasar el contexto de usuario que puede ser recuperado desde la funciones devolución de llamada.


C#

VB.NET

Resultado

Comments

Add a comment

Title  

Comments  


Sign in for add you comments


Frameworkla.net compatible con Internet Explorer 8
History Favorites