Visual Studio .Net and Beyond!

Microsoft trabalha em protótipo para unir navegador e sistema operacional.

Denominado projeto "Gazelle", não será um substituto para o Windows, será como um intermediário entre os sites da web e os recursos do computador.

Para saber mais detalhes do projeto, clique aqui e baixe a documentação do site da Microsoft.

 

Utilizando o Velocity CTP3

Recurso muito interessante para quem desenvolve sites ou aplicações com um grande volume de acesso a dados, o Velocity proporciona um aumento significativo na performance através de mecanismos de cache otimizados.

Saiba mais acessando o site oficial do projeto Velocity, ou veja os links abaixo:

Download ‘Velocity’ CTP3 – Faça o download.
Exemplos – Um conjunto de exemplos simples sobre o Velocity.

 Bons códigos.

Trabalhando com meta tags SEO no ASP.NET 4.0

Ter seu site bem posicionado em um site de buscas é quase que um requisito básico.
Para isto, podemos utilizar alguns recursos bem práticos disponibilizados pelo asp.net.

Vou exemplificar abaixo como ficaria isso no caso do site de uma imobiliária.

Exemplo em C#:

protected void Page_Load(object sender, EventArgs e)
{
    Page.MetaDescription = "Imobiliária Exemplo"; 
    Page.
MetaKeywords = "Venda,Locação,Permuta,Casas,Apartamentos" ;
}
 
Exemplo em VB.NET :
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) 
    Page.MetaDescription = "Imobiliária Exemplo"
    Page.MetaKeywords = "Venda,Locação,Permuta,Casas,Apartamentos"
End Sub


[]'s
 
Obtendo o IP do Cliente

De vez em quando surge a necessidade de se obter o IP do cliente que fez a requisição de um serviço para a geração de um log, controle de acesso por IP, etc. 

Um forma fácil de fazer isso é utilizando a classeRemoteEndpointMessageProperty que possui duas propriedades: Address e Port.
Para se instanciar a classe é necessáro fazer uma requisição através da coleção IncomingMessageProperties como no código abaixo:

RemoteEndpointMessageProperty cliente =
    OperationContext.Current.IncomingMessageProperties[RemoteEndpointMessageProperty.Name]
        as RemoteEndpointMessageProperty;

Console.WriteLine("{0}:{1}", cliente.Address, cliente.Port);

Atente-se para o fato de que se a requisição passar por intermediários como roteadores, o endereço/porta irá refletir o endereço/porta do último intermediário.

Até mais.

 

Utilizando os Extensions Methods no C# 3.0

Uma novidade agora no C# 3.0, novidade que veio junto ao .NET Framework 3.5 são os Extensions Methods.
Eles tornam a programação muito mais simples como podemos notar abaixo:

//Adicionando dias, contemplando apenas os dias úteis.
DateTime data = DateTime.Now.AddWorkDays(3);

//Adicionando dias, contemplando apenas dias úteis e definindo uma condição
DateTime data = DateTime.Now.AddWorkDays(3, d => d.Hour > 12);

//Verificando se é ou não feriado.
DateTime temp = new DateTime(2008, 12, 25);
Console.WriteLine(temp.IsHoliday());

Os feriados podem ser definidos como hard-code ou armazenados em um banco de dados.

Até mais.

 

Microsoft Web Platform Installer 2.0 Beta

A Microsoft disponibilizou para download a versão beta do Web Plataform Installer 2.0.
Como ele é possível instalar e configurar as principais ferramentes para desenvolvimento web, e nesta versão 2.0 a grande novidade é a integração com o PHP.

Para fazer o download é so acessar o link http://www.microsoft.com/Web/downloads/platform.aspx .

Bons códigos.

Posted: May 13 2009, 04:24 PM by thiago.sandaniel
Filed under:
Are you Certifiable?

Site bem bacana disponibilizado pela Microsoft para quem está pensando em tirar uma certificação.

No site "Are you certifiable",  você pode responder questões reais de certificação e assim conenhecer o nível de dificuldade das questões, os testes são infra e desenvolvimento, basta escolher.


Só como nota, como não poderia ser diferente, o site é todo feito em Silverlight.


T+

Populando um Gridview no C# com Linq

Neste post vai um código bem simples demonstrando como popular um gridview com o LINQ (Language Integrated Query). Neste exemplo estou utilizando a base "Northwind" de exemplo do SQL Server.

using System;
using System.Configuration;
using System.Data;
using System.Linq; 

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        BindGrid();
    }
 
    private void BindGrid()
    {
        NorthdbContext database = new Northdb();
        var Produtos = from p in database.Products select p;
        GridView1.DataSource = Produtos;
        GridView1.DataBind();
    }  
}

Posted: May 08 2009, 02:20 PM by thiago.sandaniel
Filed under:
Algumas novidades que vi no VS 2010 CTP
Algumas novidades interessantes do VS 2010, existem outros inúmeros itens mais é assunto para outros posts.

O recurso de Code-snippet para HTML.
  • ClientIDMode: é uma ova propriedade que está contida nos controles ASP.NET, possibilitando definir como renderizar o ID dos controles.
  • Gráficos: Agora temos nativamente um controle chamado Chart (uma boa alternativa ao Crystal Reports). Também ser utilizado em conjunto com o Visual Studio 2008 e .NET Framework 3.5. Faça o download aqui: Controles, VS.NET Toolbox (Add-On) e Documentação.
  • Computação Paralela: Até então chamada de Parallel Extensions, agora ela foi incorporada dentro do .NET Framework 4.0.
  • VB.NET - Propriedades Automáticas: Assim como no C#, o VB.NET agora suporta propriedades automáticas. A sintaxe é: Public Property Nome As String.
    Web.config: Possibilidade de criar o seu arquivo Web.config para diversos estágios do desenvolvimento (Debug/Staging/Release).
  • C# - Parametros Opcionais: Assim como nas versões do Visual Basic, o C# passa a suportar parametros opcionais e, mas é necessário especificar um valor padrão. A sintaxe para isso é: public void Teste(string nome, int valor = -1){ }.
  • C# - Tipos Dinamicos: O C# agora terá uma keyword chamada dynamic. Declarando uma variável como dinamica, ela suportará a chamada de membros e, a verificação se eles existem ou não, um recurso conhecido como late-binding.
Posted: May 07 2009, 12:34 PM by thiago.sandaniel
Filed under:
Utilizando o Reflection no C#
De vez em quando surge a necessidade de utilizar recursos em nossos códigos que estão fora do ambiente gerenciado do C#,  e o reflection faz isso pra nós.
Ele facilita o acesso a um assembly que não esteja diretamente referenciado no nosso projeto e assim pertime utilizarmos de forma dinânica suas classes e métodos, como veremos no código abaixo que utiliza um assembly para compactar arquivos:
 
>> System.Reflection.Assembly o = System.Reflection.Assembly.Load("dzactx.dll");
 
Um exemplo de acesso a algum método do objeto seria assim:
 
>> System.Reflection.MethodInfo metodo = this.GetType().GetMethod(<NomeMetodo>);

Para explorar ainda mais o reflection, temos um namespace inteiro para isso, o System.Reflection.
 
Até o próximo post.
Posted: May 06 2009, 05:05 PM by thiago.sandaniel
Filed under:
More Posts Next page »