David's profileDavid...Desenvolvendo se...PhotosBlogListsMore Tools Help

Blog


    February 08

    Enviado e-mail com Asp.Net - Mais simples do que nunca!!!

    Olá,
          Gostaria de mostrar o quanto é facil enviar e-mail com Asp.Net, mostrar o quando a ferramenta tem a oferecer. Seja VS2005 ou VS2008, que nós trás grandes novidades. Vamos utilizar a classe System.Web.Mail e o projeto base esta disponível para download com o nome Enviando e-mail com Asp.Net. Segue testo de pesquisa que fiz para vocês.
     
    Biblioteca de classes do .NET Framework

    As classes neste espaço para nome foram substituído. Use o System.Net.Mail espaço para nome. System.Web.Mail espaço para nome contém classes que permitem que você CON struct e enviar mensagens usando o componente da mensagem CDOSYS (Collaboration Data Objects para Windows 2000). A mensagem de email é entregue através o serviço de email SMTP internos do Microsoft Windows 2000 ou um servidor SMTP arbitrário. As classes neste espaço para nome podem ser usadas a partir do ASP.NET ou quaisquer aplicativo gerenciado.

     Classes
      Classe Descrição
    MailAttachment Obsoleto. Fornece propriedades e métodos para construir um anexo email. Alternativa recomendada: System.Net.Mail.
    MailMessage Obsoleto. Fornece propriedades e métodos para construir um mensagem de email. Alternativa recomendada: System.Net.Mail.
    SmtpMail Obsoleto. Fornece propriedades e métodos para enviar mensagens usando o componente de mensagem Collaboration Data Objects para Windows 2000 (CDOSYS). Alternativa recomendada: System.Net.Mail.
     Enumerações
      Enumeração Descrição
    MailEncoding Obsoleto. Fornece valores enumerados para email codificação. Alternativa recomendada: System.Net.Mail.
    MailFormat Obsoleto. Fornece valores enumerados para Formatarar email. Alternativa recomendada: System.Net.Mail.
    MailPriority Obsoleto. Especifica o nível de prioridade para o mensagem de email. Alternativa recomendada: System.Net.Mail.
     

    Fonte de pesquisa: http://msdn.microsoft.com/pt-br/library/system.web.mail.aspx

    Abraços a todos,

                             David Cavalcante

     

     

    January 18

    Interoperabilidade com DllImport – utilizando a API do windows

    Ola pessoal,

    Hoje despertou em mim aquela sede de curiosidade e fui atrás de algo que acho bastante interessante. Trabalhando com a API do Windows utilizando DllImport, ou seja, fui la eu brincar com as dll’s do windows32, tais como Kernel32.dll, PowrProf.dll,advapi32.dll,user32.dll. Logo me veio a cabeça interoperabilidade. Fiquei mais curioso ainda e acabei encontrando uma classe que faz diversas, diversas coisas. Como por exemplo, bloquear a maquina, desligar,reeniciar,para laptop’s; capturar a percentual da bateria e dentre outras mais que possa imaginar. Seguindo esse raciocionio você logo ira penssar, a isso pode me ajudar e muito e sim vai, porem muito cuidado, já que tem pessoas que podem utilizar isso para fazer o mal, como por exemplo criar virús. Quaisquer dúvidas sobre a utilização, estamos aqui. Se é que vai ter né, porque é muitoooooooooo facil de utilizar.

    Segue projetinho com assunto assima.

    Obs.: há não inventem de sair criando virús por ai...(risos).

    Obs2.: aqui você também por utilizar a impressora da bemafi, a Dll BemaFi32.dll. bastante interessante não?

    Abraços a todos!!!

    Normas e padrão de codificação c#.doc

    Olá a todos,

    Hoje tive uma curiosidade e por fim lembrei de algo que acho bastante interessante, para aqueles que estão começando agora e ou aqueles que trouxeram para a programação Asp.Net com C# o vicio de outras linguagens. Encontrei alguns documentos de padrões de codificação e fins uma junção dos mesmo. Fica aqui o documento para aqueles que gostam de utilizar padrões de desenvolvimento para implementar onde quiserem bem como ajudar a vida do próximo. Um documento base.!!!risos.Obs.: façam o download do documento que encontra-se para pasta Normas e Padrões de Codificação ASP.Net.

    November 09

    Cosumindo WebService dos Correios

    Olá pessoal,
                       Hoje vou falar um pouco sobre webservice e mostrar como consumir o web service dos correios.
     
    • O que são Web Services?
      • O termo "Web Service" abre a porta para a confusão. Seria um Web Service uma solução hospedada fornecida pela internet? E o software que é baixado da internet quando necessário, é um Web Service?
        • Um Web Service é uma lógica de aplicação acessível a programas protocolos-padrão da Web em uma maneira independente de plataforma.
        • Um Web Service é acessado por um programa. O programa pode ser uma aplicação Web, uma aplicação Windows, ou qualquer tipo de aplicação. Lembrando que os Web Service são independentes de plataforma.
    • Vamos começar a brincar de programar. Vamos criar um projeto web para consumir o Web Service dos correios. Vá em File/New / Web Site e escolha a opção ASP.NET Web Site, como mostra a figura abaixo. Chame o projeto de consumirWebServiceCorreios.

    criando web site- consulmirWebServiceCorreios

    • Vamos adicionar a web reference, onde a mesma irá direcionar para a url que o Web Servece esta "pendurado".  Click com o botão direito no nome da solução, onde chamamos de consumirWebServiceCorreios e escolha aopção Add Web Reference

    adcionando web references

    fazendo referência a URL

    • Ao Click no botão GO você sera liberada a opção Web Reference Name onde você irá renomear o trecho que irá aparacer para o seguinte

      WsCep.wscep, como mostra a figura abaixo.

    renomeando web reference name

    • Depois de feito isso, click no botão Add Reference.
    • Note que no arquivo Web.Config foi adcionado um trecho que código na tag appSettings, que é a chave de acesso ao Web Service, onde o Key é o nome que foi dado ao Web Service WsCep.wscep e o valor é a URL do Web Service.

    webconfig fazendo referência ao web service

    • Feito isso, damos por finalizado a parte de configuração e registro do Web Service em no "Site".
    • Agora vamos adicionar uma classe para obtermos o retorno do Web Service. Vá na solução e click com o botão direito e escolha a opção Add New Item. Iremos adicionar uma Class e dar o nome de cepService.cs. Como mostra a figura abaixo.

    nomeando a Classe

    • Logo em seguida click em Add, onde o Visual Studio ira identificar que sua solução não possui o Folder chamado App_Code e ira pedir para adicionar, basta clicar no botão Yes, como mostra a figura abaixo.

    adcionando APP_CODE

    • Pronto, agora que adcionamos a classe que chamamos de cepService.cs, iremos copiar e colar o trecho de código abaixo.

    using

    System;

    using

    System.Data;

    using

    System.Configuration;

    using System.Web;

    using

    System.Web.Security;

    using

    System.Web.UI;

    using

    System.Web.UI.WebControls;

    using

    System.Web.UI.WebControls.WebParts;

    using

    System.Web.UI.HtmlControls;

    ///

    <summary>

    ///

    Classe Endere‡o, contem os atritubos de um endere‡o: Logradouro, Tipo, Bairro, Estado e Cidade.

    ///

    </summary>

    public

    class Endereco

    {

    private string _tipoLogradouro;

    private string _logradouro;

    private string _bairro;

    private string _uf;

    private string _cidade;

    public string TipoLogradouro

    {

    get

    {

    return _tipoLogradouro;

    }

    set

    {

    _tipoLogradouro =

    value;

    }

    }

    public string Logradouro

    {

    get

    {

    return _logradouro;

    }

    set

    {

    _logradouro =

    value;

    }

    }

    public string Bairro

    {

    get

    {

    return _bairro;

    }

    set

    {

    _bairro =

    value;

    }

    }

    public string UF

    {

    get

    {

    return _uf;

    }

    set

    {

    _uf = value;

    }

    }

    public string Cidade

    {

    get

    {

    return _cidade;

    }

    set

    {

    _cidade =

    value;

    }

    }

     

    public Endereco()

    {

    }

    }

    ///

    <summary>

    ///

    Classe de servi‡o, que cont‚m o m‚todo GetEndere‡o, que recebe um string de cep, do tipo "60811470"

    ///

    e retorna um objeto do tipo Endereco.

    ///

    </summary>

    public

    static class CepService

    {

    //O m‚todo que ‚ est tico, recebe uma string do tipo "60811470"

    public static Endereco GetEndereco(string cep)

    {

    //Instƒnciado o meu webService

    //Lembra do nome da referˆncia do nosso webservice(WsCep) ?

    //EntÆo, agora iremos chamar o nosso Webservice WsCep.

    WsCep.

    wscep service = new WsCep.wscep();

    //m‚todo cep(string c) que recebe uma string cep e retorna um dataset.

    DataSet ds = service.cep(cep);

    //instanciando um objeto do tipo endere‡o, no caso o objeto que ser  retornado.

    Endereco en = new Endereco();

    //Verificamos se o ds est  preenchido ou vazio

    if (ds != null)

    if (ds.Tables[0].Rows.Count > 0)

    {

    //Atribuimos os dados retornados do dataset ao nosso objeto

    en.Bairro = ds.Tables[0].Rows[0][

    "bairro"].ToString();

    en.Cidade = ds.Tables[0].Rows[0]["cidade"].ToString();

    en.Logradouro = ds.Tables[0].Rows[0][

    "nome"].ToString();

    en.TipoLogradouro = ds.Tables[0].Rows[0][

    "logradouro"].ToString();

    en.UF = ds.Tables[0].Rows[0][

    "UF"].ToString();

    }

    //retornando o meu Objeto do tipo endere‡o.

    return en;

    }

    }

    • Note que criamos dentro da classe cepService.cs uma outra classe chamada de Endereco, onde sera necessario para recebermos o retorno dos dados do Web Service.
    • Agora vamos para a pagina Default.Aspx, para darmos um pouco mais de agilidade, copie o trecho HTML abaixo no source da pagina.

    <%

    @ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>

    <!

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <

    html xmlns="http://www.w3.org/1999/xhtml">

    <

    head id="Head1" runat="server">

    <

    title>Consumindo Web Service Correios</title>

    </

    head>

    <

    body>

    <

    form id="form1" runat="server">

    <

    div>

    <table class="tabelaModulo">

    <tr>

    <td class="style2">

    <asp:Button ID="btnConsultar" runat="server" Text="Consultar Cep" OnClick="btnConsultar_Click" />

    </td>

    <td>

    &nbsp;</td>

    </tr>

    <tr>

    <td class="style2">

    <asp:Label ID="Label1" runat="server" Text="Cep :"></asp:Label>

    </td>

    <td>

    <asp:TextBox ID="txtCep" runat="server" MaxLength="9"></asp:TextBox>

    </td>

    </tr>

    <tr>

    <td class="style2">

    <asp:Label ID="Label2" runat="server" Text="Tipo :"></asp:Label>

    </td>

    <td>

    <asp:TextBox ID="txtTipo" runat="server"></asp:TextBox><br />

    </td>

    </tr>

    <tr>

    <td class="style2">

    <asp:Label ID="Label3" runat="server" Text="Logradouro :"></asp:Label>

    </td>

    <td>

    <asp:TextBox ID="txtLogradouro" runat="server"></asp:TextBox><br />

    </td>

    </tr>

    <tr>

    <td class="style2">

    <asp:Label ID="Label4" runat="server" Text="Estado :"></asp:Label>

    </td>

    <td>

    <asp:TextBox ID="txtEstado" runat="server"></asp:TextBox><br />

    </td>

    </tr>

    <tr>

    <td class="style2">

    <asp:Label ID="Label5" runat="server" Text="Cidade :"></asp:Label>

    </td>

    <td>

    <asp:TextBox ID="txtCidade" runat="server"></asp:TextBox><br />

    </td>

    </tr>

    <tr>

    <td class="style2">

    <asp:Label ID="Label6" runat="server" Text="Bairro :"></asp:Label>

    </td>

    <td>

    <asp:TextBox ID="txtBairro" runat="server"></asp:TextBox><br />

    </td>

    </tr>

    </table>

    </

    div>

    </

    form>

    </

    body>

    </

    html>
    • Vamos fazer o mesmo para o código C# na parte Default.aspx.cs.

    using

    System;

    using

    System.Configuration;

    using

    System.Data;

    using

    System.Linq;

    using

    System.Web;

    using

    System.Web.Security;

    using

    System.Web.UI;

    using

    System.Web.UI.HtmlControls;

    using

    System.Web.UI.WebControls;

    using System.Web.UI.WebControls.WebParts;

    using

    System.Xml.Linq;

    public

    partial class Default : System.Web.UI.Page

    {

    protected void Page_Load(object sender, EventArgs e)

    {

    }

    protected void btnConsultar_Click(object sender, EventArgs e)

    {

    try

    {

    //Cria objeto end

    Endereco end = new Endereco();

    if (txtCep.Text != string.Empty)

    {

    //Atribui o retorno do m‚todo GetEndere‡o ao objeto end

    end =

    CepService.GetEndereco(txtCep.Text);

    if (end.Cidade != null)

    {

    txtCidade.Text = end.Cidade;

    txtEstado.Text = end.UF;

    txtTipo.Text = end.TipoLogradouro;

    txtLogradouro.Text = end.Logradouro;

    txtBairro.Text = end.Bairro;

    }

    else

    {

    //Exibe menssagem de alerta.

    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Alerta", "alert('Endere‡o nÆo localizado!')", true);

    //Limpa campos

    txtCidade.Text =

    String.Empty;

    txtEstado.Text =

    String.Empty;

    txtTipo.Text =

    String.Empty;

    txtLogradouro.Text =

    String.Empty;

    txtBairro.Text =

    String.Empty;

    }

    }

    }

    catch

    {

    throw new Exception("Ocorreu um erro inesperado.");

    }

    }

    }

    • Você deve obter um designer igual a esse.

    designer final

    • Pronto, sua aplicação esta consumindo o Web Service e obtendo os dados necessario apartir do CEP informado. Lembro que com esse exemplo você consulta os dados pelo CEP, leia a documentação que esta em todo o código e faça o debug da aplicação.

    ***O crescimento pessoal e profissional só depende de você. basta você querer.

    Abraços a todos e um bom fim de semana,

    David Cavalcante

     

    October 12

    Visual Studio 2010 e o FrameWork 4.0

    Olá a todos,
     
    A Microsoft acaba de lançar a nova versão do Visual Studio, para quem já achava o VS 2005 e VS 2008 uma ferramenta fantástica, imaginem o quem vem por ai com a VS2010. O Visual Studio 2010 da uma ênfase maior aos Arquitetos de  Software. Vejam uma previa das novas funcionalidades
     
    • Descobrir e identificar código existente com os ativos e as novas arquitectura Arquitectura Explorer.
    • Design gráfico e partilhar vários tipos, incluindo caso de uso, a seqüência de atividade e diagramas.
    • Melhorar os esforços de testes com ferramentas para uma melhor documentação e cenários de teste mais aprofundado.
    • Identificar e executar apenas os testes, impactado uma por uma e alterações de código com facilidade, novo Teste de Visão do Impacto.
    • Versão avançada, incluindo capacidade de controle gated check-in, visualizar e construir workflow

    cc948977_ArcExpl01(en-us,MSDN_10)

    Maiores detalhes no link http://msdn.microsoft.com/en-us/vstudio/products/cc948977.aspx

    Até a próxima,

                           David Cavalcante

     

    September 21

    Visual Studio 2008 - Deprando função java script

    Bom pessoal, hoje vou mostar como depurar funções java script no Visual Studio 2008.
    • O primeiro passo que devemos dar é criar um projeto;

    criando projeto


    • Automaticamente o Visual Studio irá criar uma pagina defalt.aspx e um arquivo web.config. até o momento estamos caminhando bem, porem iremos adcionar ao projeto um arquivo com extensão .JS da seguinte com forma. Click com o botão direito do mouse no nome do projeto e selecione a opção Add New Item e escolha a opção JSscript File e coloque o nome do arquivo da seguite forma javaScript.js e depois click em Add.

    criando arquivo js

    • Criado a estrutura do projeto, temos que fazer algumas alterações no browser, no caso o IE 7.0.
      Localize o menu ferramentas e selecione Opções de internet.
      Ao abrir a janela de configurações, click na opção Avaçadas.
      Na lista de opções localize a seção Navegação.
      Desmarque as opções Desabilitar depuração de script (Internet Explorer) e Desabilitar depuração de script (outros).
      Marque a opção Exibir notificação sobre cada erro de script.
      Desmarque a opção Mostrar mensagens de erro HTTP amigáveis.
      E por fim click no botão OK para confirmar as alterações.

    opções de internet

    • Com todo o ambiente já preparado, vamos ao que todos estão a espera. No arquivo que criamos chamado javaScript.js crie a seguite função.

    function

    depurandoAgora(texto)

    {

    var nome = texto.toString() ;

    var mais = "Muito Show";

    var legal = nome + " " + mais;

    alert(

    " Seja bem vindo ao " + legal + "!");

    }


    • Agora com a função java script já criada, temos que colocar alguns server control para fazer a chamada do mesmo.
      Va para o arquivo Default.aspx e so souce cole todo o código abaixo. Note que exite uma tag javaScript que irá apontar o path do arquivo javascript que adicionamos.

    <%

    @ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <

    html xmlns="http://www.w3.org/1999/xhtml">

    <

    head runat="server">

    <title>Depurando java Script - Showwww</title>

    <!--especifica o arquivo em quem a fun‡Æo java acript est  localizada-->

    <script type="text/javascript" src="javaScript.js">

    </script>

    <style type="text/css">

    .style1

    {

    width: 28%;

    }

    .style2

    {

    width: 110px;

    }

    </style>

    </

    head>

    <

    body>

    <form id="form1" runat="server">

    <div>

    <br />

    <table class="style1">

    <tr>

    <td class="style2">

    <asp:Label ID="lbljavaScript" runat="server" Text="Teste java script :"></asp:Label>

    </td>

    <td>

    <asp:TextBox ID="txtJavaScript" runat="server"></asp:TextBox>

    </td>

    </tr>

    <tr>

    <td class="style2">

    &nbsp;</td>

    <td>

    <asp:Button ID="btnAtivaDebugJavaScript" runat="server"

    onclick="btnAtivaDebugJavaScript_Click" Text="Debug Agora" />

    </td>

    </tr>

    </table>

    <br />

    <br />

    </div>

    </form>

    </

    body>

    </

    html>
    • Assim ele deve criar um designer igual a esse.

    designer tela

    • Pronto já estamos com a interface criada, vamos agora para o code, que fica no arquivo Default.aspx.cs e cole o seguinte código.

    using

    System;

    using

    System.Configuration;

    using

    System.Data;

    using

    System.Web;

    using

    System.Web.Security;

    using

    System.Web.UI;

    using

    System.Web.UI.HtmlControls;

    using

    System.Web.UI.WebControls;

    using

    System.Web.UI.WebControls.WebParts;

    public

    partial class _Default : System.Web.UI.Page

    {

    protected void Page_Load(object sender, EventArgs e)

    {

    }

    protected void btnAtivaDebugJavaScript_Click(object sender, EventArgs e)

    {

    //Chamada do metodo java script

    btnAtivaDebugJavaScript.Attributes.Add(

    "onClick", "depurandoAgora(txtJavaScript.value);");

    }

    }

    • Pronto, com todo o projeto já preparada, iremos da um click no start debug ou apertar simplementeo F5. onde iremos ter o seguinte resultado. Digite na caixa de texto o seguinte. "Visual Studio 2008".

    Start Debug

    • Agora coloque um breakpoint na sua função javasript e click no botão. assim você já esta deppurando a função e pode ir clicando no botão de atalho F10.

    break point

    • Depois do visto acima, click no F5 para o Visual Studio 2008 continuar e mostrar o seguinte resultado.

    Resultado Final

    • pronto, fico por aqui. Quaisquer dúvidas estamos aqui. abraços a todos e até a proxima.

    David Cavalcante