Usar un WCF con una clase compilada en nuestro proyecto web
Cuando usamos anteriormente un WCF en una aplicacion web se debio realizar una referencia directamente a la direccion URL del mismo, pero si esta direccion URL cambia por alguna razon, es decir, si esa URL es:
http://10.3.5.32/WCFClientes/Service1.svc
y cambia por la direccion:
http://10.3.5.22/WCFClientes/Service1.svc
debemos volver a realizar la referencia y compilar nuestra aplicacion web y colocarla en nuestro web server, para resolver esto debemos crear un clase utilizando el WSDL que se encuentra en la siguiente :
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
pero lo recomendable es que entre al directorio de su proyecto web donde utilizara la clase que vamos a crear y ejecute el siguiente comando para obtener la ruta del WSDL:
path C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
luego para crear la clase ejecute el siguiente comando:
wsdl /language:CS /out:Service1.cs http://localhost/WCFClientes/Service1.svc?wsdl
/language:CS:Indica en que lenguaje deseamos generar la clase puede ser CS: C sharp o VB: Visual Basic
/out:Service1.cs:Service1.cs es el nombre que deseamos darle puede ser el mismo nombre que se utiliza en el WCF o cualquier otro nombre.
http://10.3.5.32/WCFClientes/Service1.svc?wsdl:Es la URL donde esta implementado el WCF y con el cual se generara la clase.
Al ejecutar el comando:
wsdl /language:CS /out:Service1.cs http://10.3.5.32 /WCFClientes/Service1.svc?wsdl
en el directorio donde usted se encuentre se creara el archivo Service1.cs el cual debera copiar dentro de su appWeb y agregarlo a la solucion.
Para utilizarlo puede colocar el siguiente codigo en un boton y agregar un label:
Service1 x = new Service1();
x.Url = "http://10.3.5.32/WCFClientes/Service1.svc";
//Es recomendable que tenga este URL en el webconfig de su aplicacion para que lo pueda cambiar //facilmente si cambia el IP del servidor o en una tabla de una base de datos si se conecta a diferentes //servidores con el mismo webServices
x.Timeout = 600000;//Es el tiempo de respuesta que debe esperar en el request
Label1.Text = x.clientes().ToString();//Metodo que utilizara
No hay comentarios:
Publicar un comentario