Nesta aula você irá aprender sobre WebServices e WCF, faremos 2 aplicações interligadas por este serviço.
Web Services WCF - Windows Communication Foundation, tem como principal função interligar um sistema a outro através do protocolo HTTP.
É um serviço de comunicação de serviços windows para serviços windows.
Para que o WCF funcione, precisamos executá-lo dentro de um servidor IIS, trafegando os dados em XML que é envelopado pelo protocolo SOAP, ou seja, conseguimos utilizar o WCF com outras aplicações, mas neste caso é recomendado que seja feita uma API em REST.
Sua única responsabilidade é fazer a interligação e a proteção da sua base de dados, permitindo que outras aplicações acessem facilmente seus modelos que foi criado de uma forma para ser distribuída entre todas as aplicações ao redor de uma aplicação.
Vamos criar um serviço WCF e criar uma aplicação que irá consumir este serviço WCF. Para isso, faremos um novo projeto:
Ao criar o projeto precisamos prestar atenção na interface. Todo serviço WCF tem dois tipos de serviço:
namespace ClienteWcfService
{
public class Service1 : IService1
{
public Cliente GetData(int value)
{
var cliente = new Cliente() { ID = 1, Nome = 'Danilo', CPF = "5425224"};
return cliente;
}
public List< Cliente> All()
{
var clientes = new List< Cliente>();
clientes.Add(new Cliente() { ID = 1, Nome = 'Danilo', CPF = "5425224"};
clientes.Add(new Cliente() { ID = 2, Nome = 'Danilo', CPF = "5425224"};
clientes.Add(new Cliente() { ID = 3, Nome = 'Danilo', CPF = "5425224"};
return clientes;
}
public bool Save(string nome, cpf)
{
try
{
bool saved = new Cliente(){ Nome = nome, CPF = cpf}.Save() };
return saved;
}
catch { return false; }
}
}
}
Criaremos a classe Cliente
namespace ClienteWcfService
{
public class Cliente
{
public int ID { get;set; }
public string Nome { get;set; }
public string CPF { get;set; }
}
in
}
Criaremos a Interface IService1
[ServiceContract]
namespace ClienteWcfService
{
public interface IService1
{
[OperationContract]
Cliente GetData(int value);
[OperationContract]
List< Cliente> All();
[OperationContract]
bool Save(string nome, cpf);
}
}
Ao compilar o código, veremos o serviço na lista de ftp e, ao clicar no arquivo Service1.svc temos a documentação.
Criaremos agora uma aplicação Web MVC, que irá consumir o serviço. Através deste código, faremos o registro e acessar os métodos da aplicação de serviço. Teremos então dois servidores executando no computador:
Vamos registrar a aplicação de Serviço na aplicação web MVC:
Vamos utilizar a classe ClienteServiceReference para chamarmos na controller.
using System.Net;
using System.Web;
using System.Web.Mvc;
using MVC.Models;
namespace MVCWebServicesAcessor.Controllers
{
public class HomeController: Controller
{
public ActionResult Index()
{
var service = new ClienteServiceReference.Service1Client();
var clientes = service.All;
var cliente = service.GetData(1);
var correto = service.Save("danilo", "323232323");
return View ();
}
}
}
Nesta aula você irá aprender sobre WebServices e WCF, faremos 2 aplicações interligadas por este serviço.
Web Services WCF - Windows Communication Foundation, tem como principal função interligar um sistema a outro através do protocolo HTTP.
É um serviço de comunicação de serviços windows para serviços windows.
Para que o WCF funcione, precisamos executá-lo dentro de um servidor IIS, trafegando os dados em XML que é envelopado pelo protocolo SOAP, ou seja, conseguimos utilizar o WCF com outras aplicações, mas neste caso é recomendado que seja feita uma API em REST.
Sua única responsabilidade é fazer a interligação e a proteção da sua base de dados, permitindo que outras aplicações acessem facilmente seus modelos que foi criado de uma forma para ser distribuída entre todas as aplicações ao redor de uma aplicação.
Vamos criar um serviço WCF e criar uma aplicação que irá consumir este serviço WCF. Para isso, faremos um novo projeto:
Ao criar o projeto precisamos prestar atenção na interface. Todo serviço WCF tem dois tipos de serviço:
namespace ClienteWcfService
{
public class Service1 : IService1
{
public Cliente GetData(int value)
{
var cliente = new Cliente() { ID = 1, Nome = 'Danilo', CPF = "5425224"};
return cliente;
}
public List< Cliente> All()
{
var clientes = new List< Cliente>();
clientes.Add(new Cliente() { ID = 1, Nome = 'Danilo', CPF = "5425224"};
clientes.Add(new Cliente() { ID = 2, Nome = 'Danilo', CPF = "5425224"};
clientes.Add(new Cliente() { ID = 3, Nome = 'Danilo', CPF = "5425224"};
return clientes;
}
public bool Save(string nome, cpf)
{
try
{
bool saved = new Cliente(){ Nome = nome, CPF = cpf}.Save() };
return saved;
}
catch { return false; }
}
}
}
Criaremos a classe Cliente
namespace ClienteWcfService
{
public class Cliente
{
public int ID { get;set; }
public string Nome { get;set; }
public string CPF { get;set; }
}
in
}
Criaremos a Interface IService1
[ServiceContract]
namespace ClienteWcfService
{
public interface IService1
{
[OperationContract]
Cliente GetData(int value);
[OperationContract]
List< Cliente> All();
[OperationContract]
bool Save(string nome, cpf);
}
}
Ao compilar o código, veremos o serviço na lista de ftp e, ao clicar no arquivo Service1.svc temos a documentação.
Criaremos agora uma aplicação Web MVC, que irá consumir o serviço. Através deste código, faremos o registro e acessar os métodos da aplicação de serviço. Teremos então dois servidores executando no computador:
Vamos registrar a aplicação de Serviço na aplicação web MVC:
Vamos utilizar a classe ClienteServiceReference para chamarmos na controller.
using System.Net;
using System.Web;
using System.Web.Mvc;
using MVC.Models;
namespace MVCWebServicesAcessor.Controllers
{
public class HomeController: Controller
{
public ActionResult Index()
{
var service = new ClienteServiceReference.Service1Client();
var clientes = service.All;
var cliente = service.GetData(1);
var correto = service.Save("danilo", "323232323");
return View ();
}
}
}