Consumir serviços WCF no Windows Phone

Tempo de leitura: menos de 1 minuto

E ai pessoal, Tudo bem?

Estou eu aqui mais uma vez para mostrar como consumir um serviço WCF no Windows Phone, então vamos direto ao assunto.

Quando desenvolvemos nossos aplicativos para Windows Phone, nosso intuito é poder consumir de nossos servidores na internet, mas como podemos fazer isso? Com serviços WCF.

 

Para esse nosso exemplo, vamos criar um serviço WCF simples.

(Já que nosso foco não é a criação dos serviços e sim como consumi-los, por isso esse serviço está bem, bem simples.)

Para criar o Serviço WCF, abra seu Visual Studio,crie um projeto WCF Service Application

 

Abra o Service1.svc.cs e crie um método chamado “GetNome”, onde é passada uma String e retorna uma mensagem “Seu nome é: ” & Nome_Informado

 

 

Após criar o serviço, é necessário criar uma chamada para esse método na Interface, como a imagem abaixo:

 

 

Dê um F5 , abra o serviço no browser, e deixe esperando.

Agora, abra outra Instancia do Visual Studio, e crie um projeto Windows Phone, do tipo “Windows Phone App”

 

 

 

Em seu projeto, é necessário realizar uma referencia ao Serviço WFC criado anteriormente, então vamos pegar a URL que está no Browser, e no Visual Studio, vamos clicar com o Botão direito do Mouse em “References” > “Add Service Reference” e cole a URL do serviço, clique em “Go”, Altere o Namespace para “srvTeste” e logo em seguida clique em “OK”

 

 

 

 

Bom, agora que já criamos a referencia com o Serviço, vamos criar a aplicação Windows Phone.

Abra a tela “MainPage.xaml”, adicione um “TextBlock” com o texto : “Informe seu Nome:”

Adicione também, um Textbox, e também um Button com o Content “Consumir”

 

 

 

No arquivo “MainPage.xaml.cs”, vamos criar um método “Sample Service” que pede como parametro uma String,

Dentro deste método, vamos criar uma instancia para o serviço referenciado.

Após criar a instancia, vamos chamar o método “GetNameAssync” e passar a string para ele.

Vamos também, criar uma chamada para o metodo “GetNameAssyncCompleted”, para que o mesmo seja executado após a chamada ser completada já que é um método assincrono.

Os método deverá ficar da seguinte maneira

        private void SampleService(string texto)
        {
            srvTeste.Service1Client srv = new srvTeste.Service1Client();
            srv.GetNameCompleted += srv_Completed;
            srv.GetNameAsync(texto);
        }




No “GetNameCompleted” , estamos referenciando um método que será executado apenas após a chamada ser completada, e o mesmo, após completado, exibirá um MessageBox com a mensagem de retorno.

O método ficará da seguinte maneira:

        void srv_Completed(object sender, srvTeste.GetNameCompletedEventArgs e)
        {
            MessageBox.Show(e.Result);
        }

Após criado isso, vamos chamar o Método SampleService no Click do botão, passando como parametro o TextBox da tela

 

 

 

 

Bom, agora que fizemos isso, basta executar a aplicação, digitar um nome no TextBox e clicar em Consumir, A tela do Emulador vai retornar um MessageBox da como o seguinte

 

 

 

 

 

Bom pessoal, por enquanto é isso.

O exemplo está bem simples, mais as possibilidades com o WCF são imensas, basta você estar disposto a utilizar.

 

Segue abaixo o link dos projetos para que você possa baixar caso julgue necessário.

 

sampleWCF.rar (416,76 kb)