50-.Servicios Web.Consumiendo un web service
- En este capítulo del curso de programación en c# con visual studio 2017,vamos a continuar con los servicios web. En ocasiones, puede ser que necesitemos cierta funcionalidad que nos permitan intercomunicar sistemas o obtener datos de otros sistemas.Los servicios web proporcionan mecanismos de comunicación estándares entre diferentes aplicaciones, que interactúan entre sí para presentar información dinámica al usuario.- En el ejemplo que muestro en el video la arquitectura que se pretende simular es similar a la siguiente con la salvedad que en mi caso lo tengo todo montado en mi máquina local:
- Con esta arquitectura el cliente se comunica con el servidor web que tiene alojada la página que el usuario está consumiendo. La página llama a un web service para obtener los datos necesarios(en nuestro ejemplo una lista de pedidos) y es el web service el que se comunica con la base de datos para obtener los datos necesarios que el usuario finalmente visualiza en su navegador.
Os dejo el video con el ejmplo:
- De esta forma podemos tener la bbdd en una máquina, el web service en otra y la página que ve el usuarioen otra, con lo que conseguimos interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen.
- Os dejo por aqui también la clase que llama al web service una vez tenemos agregada la referencia en nuestro proyecto:
- Código aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PaginaParaLlamarWS.aspx.cs" Inherits="GestionVarios.PaginaParaLlamarWS" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label runat="server" ID="lblPedidos"></asp:Label>
</div>
</form>
</body>
</html>
- Código cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace GestionVarios
{
public partial class PaginaParaLlamarWS : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
WSPruebas.Pruebas pruebas = new WSPruebas.Pruebas();
WSPruebas.Pedidos[] x = pruebas.DamePedidos();
foreach(WSPruebas.Pedidos p in x)
{
lblPedidos.Text += p.NombreUsuario + " " + p.FechaPedido1.ToShortDateString() +"<br>";
}
}
}
}
No hay comentarios:
Publicar un comentario