logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!

CRUD – Microsoft Silverlight + PHP + MySQL

Colocado por Robson Fernandes na(s) categoria(s): Silverlight - Core, SilverLight - Design, Silverlight - PHP, Silverlight - WebClient, Silverlight 3 em 01 13th, 2010 | Sem comentários

CRUD - Microsoft Silverlight + PHP + MySQL

INTRODUÇÃO

Boa noite pessoal!

Há alguns dias atrás eu havia feito uma postagem sobre requisições entre aplicações Cliente/Servidor, com Adobe Flex e PHP. Criei uma aplicação que efetua operações com banco de dados utilizando REST, e hoje, irei falar um pouco sobre como implementar um serviço similar, porém utilizando o Microsoft Silverlight.

ABORDAGEM

Assim como o Flex, o Silverlight também possui diversas formas de se comunicar com o servidor. Você pode utilizar o WCF, WebClient, e  também o uso do protocolo AMF, através de implementações como WebOrb e FluorineFx. A principio, irei abordar o uso do WebClient.

A classe WebClient, é usada para fazer chamadas assíncronas em URLs, e receber dados  através da comunicação com o protocolo HTTP/HTTPS, que podem ser no formato XML, criados dinamicamente com linguagens como PHP, ASP, JSP e etc, ou arquivos XML estáticos.
O retorno de dados geralmente é utilizado nos formatos XML ou JSON, e para o tratamento, muitos desenvolvedores .NET costumam utilizar o Linq to XML, pela simplicidade de manipulação.

Código em C#

Observe, que é passado a URL do serviço PHP que irá efetuar a operação, e sem seguida ao concluí-la, devolverá um XML que será tratado no evento DownloadStringCompletedEventHandler através do método que foi associado a ele onSelecListCliente.


WebClient webClientCliente = new WebClient();
 webClientCliente.DownloadStringCompleted+=new System.Net.DownloadStringCompletedEventHandler(onSelecListCliente);
 webClientCliente.DownloadStringAsync(new Uri("http://www.riasoftware.com.br/aplicacoes/php/crud/cliente/service/ClienteService.php?operacao=select", UriKind.Absolute));

Código em C#

Abaixo, temos o método onSelecListCliente que irá tratar os dados retornados no formato XML através do Linq to XML. Veja, que os dados em XML são tratados como se fosse uma consulta SQL, até os operadores são similares.


private void onSelecListCliente(object sender, System.Net.DownloadStringCompletedEventArgs e)
{
   XDocument doc = XDocument.Parse(e.Result);
   var clientes = from c in doc.Descendants("Cliente")
              select new ClienteVo
              {
                id = Convert.ToInt32(c.Element("id").Value.ToString()),
                nome = c.Element("nome").Value,
                endereco = c.Element("endereco").Value,
                cidade = c.Element("cidade").Value,
                bairro = c.Element("bairro").Value,
                estado = c.Element("estado").Value,
                cep = c.Element("cep").Value,
                telefone = c.Element("telefone").Value,
                email = c.Element("email").Value
             };
   dataGridCliente.ItemsSource = clientes;
}


APLICAÇÃO – RUN

Abaixo temos a aplicação que irá efetuar as operações com banco de dados, utilizando o PHP.
O Silverlight enviará as requisições à URL, e o PHP irá processá-las, devolvendo respostas no formato XML.

Segue uma URL de exemplo contida no código, ela envia uma requisição por QueryString, para efetuar a operação de “pesquisa por clientes”, e os retorna no formato XML.

http://www.riasoftware.com.br/aplicacoes/php/crud/cliente/service/ClienteService.php?operacao=select

DOWNLOAD

Fontes SILVERLIGHT -> ClienteSilverlight
Fontes PHP -> CRUDCliente

Abraços pessoal!

Robson Fernandes



Veja o post original no blog do autor aqui!  

Robson Fernandes

Escrito por Robson Fernandes @ http://www.riasoftware.com.br/blog/
Saiba mais sobre o autor na sua pagina de perfil
Outros posts do autor:
» XAML, Silverlight, WPF
» shAIR – Crie aplicativos shareware com Adobe Air!
» FlexWheel Component. Muito Show!

Deixe um comentário



Spam Protection by WP-SpamFree

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2790 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com