Arquivo da tag: ASP.NET

ASP.NET XML webservices


Hoje falaremos sobre XML webservices, um pouca da sua história e o objetivo dele ter sido desenvolvido e estaremos criando e consumindo um ao final deste artigo.

Simplificando a utilidade dos webservices teremos uma explicação simples que é a integração de sistemas distintos mas que precisam trocar informações.
Antigamente essa integração era feita via RPC ( Remote Procedure Call ) e depois evoluiu para RPC – over http no qual utilizava a porta 143 para se comunicar. A tecnologia RPC tem vários problemas, são eles:

• A data dos sistemas que estão tentando trocar informações devem estar sincronizadas, isto é, exatamente iguais.
• Existiam muitas diferenças na linguagem quando os sistemas eram diferentes.
• As chamadas eram síncronas.

Portanto para acabar com todos esses problemas foi criado o webservices utilizando o XML como linguagem de comunicação. O XML foi implantado e padronizado pela W3C.

Existem alguns itens que são importantes saber para criarmos um webservices:

WSDL – Web Service Description Language – Nele estão descriminados todos os pontos de entrada, descrição de classes, métodos e outras informações. ( Ele é criado de acordo com as regras da W3C)

DISCO – Discovery – Armazena os contratos com relação ao webservices ( Ele é gerado somente por webservices da Microsoft)

UDDI – WWW.uddi.org – Funciona como as páginas amarelas dos webservices onde você pode cadastrar o seu webservices e disponibiliza-lo ao público e também achar e consumir algum do seu interesse.

SOAP – Simple Object Access Protocol – É a linguagem que os webservices utilizam para trafegar as informações entre eles.

Existem 2 tipos de chamadas quando estamos consumindo um webservices

1. Direct call – Chamadas feitas direto do browser para o webservices.
2. Proxy call – Aplicação fazendo chamadas para o webservices onde não tem uma camada de apresentação.

Bom, agora vamos botar a mão na massa e criar e consumir nosso webservices.

Vamos abrir o Visual Studio 2008 SP 1 e criar um projeto do tipo ASP.NET Web Services application.

Iremos perceber que ele já criou um WebMethod de exemplo quer se chamarmos ele irá nos retornar um “Hello World”.

Agora vamos criar um método nosso onde ele irá receber 2 numeros, fazer a soma deles e retornar o resultado.

Nosso código ficará assim:

Simplesmente fazendo isso nós já temos nosso webservices pronto para funcionar. Lembrando que o webservices é como se fosse um website então se quisermos botar para funcionar devemos simplesmente criar o diretório virtual no IIS, mas como estão rodando nossa aplicação no VS 2008 ele criará o web Server virtual para nós.

Iremos criar agora uma aplicação web e montar nossa tela de input. Vamos adicionar um projeto a nossa solução

Nossa tela ficará assim:

De um Build na solução para ver se não tem nenhum erro.

Agora iremos adicionar a referencia do nosso WebService ao nosso projeto web para que possamos consumir e chamar o método que criamos.

Para adicionar a referencia, clique com o botão direito em cima do projeto web no solution Explorer e clique em Add Service Reference

Depois na próxima tela clique em Discovery , selecione o nosso webservices que ele achou automaticamente e clique em OK.

Feito isso iremos programar um pouco.
De um duplo clique no botão da tela e insira o seguinte código:

Agora podemos rodar nossa aplicação e testar nossa “super” calculadora.

Boa sorte a todos e qualquer dúvida pode perguntar.

Abraços

Lineker Tomazeli

Anúncios

Usando a comparação “Is” no C#


O comando de comparação Is é utilizado para comparar objetos. Veja o exemplo abaixo:

Criei um botão na tela e codifiquei uma verificação.

if (Button1 is Button)
{
Response.Write(“Button1 é um botão!”);

}

Claro que este é um exemplo muito simples e inútil mas podemos utilizar num ambiente mais complexo e usando heranças, vejam:

Imagine que temos 2 classes uma chamada Gerente e outra Pessoa e a classe Gerente herda Pessoa.

public class Pessa
{ ….. }
public class Gerente:Pessoa
{ …… }

Private void teste()
{
Gerente objGerente = new Gerente();
if(objGerente is Pessoa)
{

Response.Write(“A classe Gerente é Pessoa”)
}
else
{ … }
}

Qualquer duvida perguntem…. e deixe seu feedback

Abraços

Lineker


Mapa de Certificações Microsoft


Olá pessoal,

Para aqueles que ainda tem dúvidas sobre a seqüencia das certificações da microsoft, segue abaixo um
mapa para facilitar o entendimento. Qualquer dúvida não existe em perguntar.

Abraços

Lineker Tomazeli


Exception + Sender


Hoje falaremos um pouco sobre tratamento de excessões e sobre o objeto Sender.

Exceptions

Para fazermos o tratamento de excessões utilizaremos o Try Catch do c#.
É muito simples e muito importante também, vamos a uma demonstração.

Definições:
Try = tenta
Catch = pega

Estrutura:

  Try
  {
      //Entao aqui vem o seu codigo e se houver algum excessão ( erros ) e ele cairá no Catch conforme
      // exemplo abaixo onde estamos tentando converter uma string para int.
      string texto = “Teste”;
      int numero = Convert.ToInt32(texto);
  }
  Catch(Exception ex)
  {
      //Cai estamos tratando o erro e mostrando na tela.
      Console.WriteLine(“Ocorreu um erro : ” + ex.toString());
    
  }

Podemos ter varios tipo de excessões desde SQL como uma simples conversão como mostrada acima.
Sempre devemos colocar os catchs (excessões) da mais complexa para a mais simples, no caso a mais basica (simples ) é a somente Exception. Portanto poderemos ter varios Catch ( cada um com seus exception especifico) para cada Try. Então você dera dizer “Se ocorrer um erro de SQL faça isso” , “Se ocorrer um erro de dados faça isso” e assim por diante.

Mas Lineker, como posso ver qual foi o erro ?
Quando você coloca “Catch(SQLException ex)” , ex pode ser qualquer nome que você quiser, estaremos atribuindo a excessão ao objeto ex. Se quisermos mostrar na tela o erro vamos passar o ex.toString() para aonde desejarmos. Dica: use o intellinsense para ver a propriedades das excessões ( ex: ex.[ira aparecer as propriedades])


Sender

Você perceberá este objeto quando criar um evento para por exemplo um botão. Faça o teste crie um projeto windows form, coloque um botão na tela e clique 2 vezes nele e você verá:
 
               private void button1_Click(object sender, EventArgs e) {  }

O sender nada mais é do que o objeto em si, neste caso o button.
Então se por exemplo você quer mudar a cor do botão quando ele for clicado usando o sender ficaria assim:

 private void button1_Click(object sender, EventArgs e)
        {
            Button btn = (Button)sender;
            btn.BackColor = Color.Red;
        }

Claro que essa aplicação é simple e não faz muito sentido pois poderiamos fazer isso de maneira muito mais facil mas espero ter ajudado e esclarecido algumas duvidas dos novatos.

Abraços

Lineker Tomazeli


Substring + IndexOf no C#


Bom, hoje veremos o funcionamento de 2 métodos muito úteis no dia-a-dia.

Um deles é o Substring que serve para extrairmos uma certa parte de uma string fornecendo um ponto de partida e quantos digitos para frente vamos querer extrair. Veremos um exemplo abaixo.

E o outro é o IndexOf onde server para sabermos a posição exata de tal elemento, podendo ser string, int, char e etc.

Vamos aos exemplos:

Foi criada uma aplicação windows form, com 3 labels e 1 textbox e um button.

Clicando 2 vezes sobre o botão vamos dar algumas ações a ele. Veja o codigo comentado.

obs: a imagem ficou meio cortada por causa do layout do blog, veja aqui completa

Codigo fonte

Abraços

Lineker Tomazeli


Dica…Framework .NET 3.5 – StringBuilder e String Format


A dica de hoje vai pra 2 classes novas que foram inseridos no framework e que são muito úteis quando se tratando de “best practices” e utilização de memória.

StringBuilder

String builder veio para convencionar a concatenação de strings.
Antigamente nos viamos programadores concatenarem as string de select e update da vida, por ex:

string str =”select produto”;
str = str + “from tb_produto”;
str = str + “where id = 1”;

Agora nos utilizaremos um método muito mais elegante e eficaz pra fazer isso.

//Declare o namespace System.Text
using System.Text;

// Vamos estanciar a classe
StringBuilder sb = new StringBuilder();
// E agora vamos adicionar strings
sb.Append(“select produto”);
sb.Append(“from tb_produto”);
sb.Append(“where id = 1”);

// passamos a string para aonde for conveniente
string r = sb.ToString();

ps: No objeto StringBuilder pode ser adicionado outros valores como int, char entre outros.
Veja mais : http://msdn.microsoft.com/pt-br/library/2839d5h5.aspx

String Format

Nada mais é do que uma função que substituirá um item na string por seu correspondente.
Vamos aos exeplos que ficará mais claro.

Um exemplo clássico é na utilização do Responde.Redirect quando utilizavamos assim:

Response.Redirect(“teste.aspx?id=” + txtId.Text + “&nome=” + txtnome.Text );

Utilizando o string format ficará assim:

Response.Redirect(string.Format(“teste.aspx?id={0}&nome={1}”,txtId.Text,txtnome.Text));

Lembrando que começaremos a contagem sempre do 0 e que devem seguir na ordem.

abraços e boa semana.

Lineker Tomazeli


Livros técnicos gratuitos…


Lendo meus feeds de hoje me deparei com esse site onde disponibiliza muitos livros técnicos gratuitos.
O que mais me interessou foi esse.

The
ASP.NET 2.0 Anthology: 101 Essential Tips, Tricks & Hacks is a
collection of solutions to the most common ASP.NET problems. Let five
world-class ASP.NET professionals guide you through countless practical
solutions using C#.
101 Essential Tips, Tricks & Hacks - Free 156 Page Preview

http://dotnetcurry.tradepub.com/free/w_sitb03/

[]’s

Lineker Tomazeli