Sunday, November 30, 2008

Novo Video: Criando macros para o Visual Studio 2008

Recentemente tenho buscado algumas alternativas para melhorar a performance do time de desenvolvedores onde trabalho. Normalmente nao temos tempo para perder tempo com coisas que fazer voce ganhar tempo (entenderam,:P), mas quando paramos um pouco para olhar a nossa volta, vemos um mundo de ferramentas e truques que facilitam muito algumas tarefas que nem reparamos que nos tomam tanto tempo. Um desses facilitadores é a Macro. Quase todos nós sabemos o que é, mas quase ninguem resolveu parar para dar uma mexida e menos ainda em pensar como facilitar o dia a dia usando elas. Pensando nisso eu como resultado de estudos recentes, eu publiquei no site do linha de código um video que ensina a usar/gravar/aproveitar macros de forma bem rapida e objetiva. Confiram em http://www.linhadecodigo.com.br/videos_dotnet/.

Pretendo em breve publicar um artigo sobre como usar as macros assim como ao achar alguma interessante , postar aqui no blog.

Have Fun!

Monday, November 24, 2008

Novo Logo .NET

A microsoft liberou recentemente o novo logo da plataforma .net confira:



Eu particulamente gostei bastante, achei bem moderno e passando um idéia de "flow".

Confira o site da plataforma .net já usando o novo logo: http://www.microsoft.com/NET/

Have Fun!

Poster de Atalhos do Visual Studio 2008

Vai ai uma dica para quem gosta de ficar com a mao no teclado. Segue abaixo o link para baixar um poster (em pdf) com os atalhos para Visual Studio 2008. Alguns parecem assustadores mas com o tempo vamos entendendo o padrao empregado e o seu uso passa a ser integrado no nosso dia-a-dia de trabalho. Tenho percebido um significativo ganho de produtividade desde que passei a usar alguns desses atalhos.

Fica ai a dica: http://www.microsoft.com/downloads/details.aspx?FamilyID=e5f902a8-5bb5-4cc6-907e-472809749973&displaylang=en

Mas atenção: usar shortcuts vicia : p

Have fun!

Wednesday, November 19, 2008

Chamando um web services que não tem retorno

Esses dias me deparei com um problema em um dos web services que estava criando aqui: eu deveria chamar o web service mas nao precisava esperar o seu retorno pois o web service era uma sub (ou void). Imagine o seguinte cenário: toda noite minha aplicação precisa chamar um web service que processa alguns dados e atualiza o banco de dados com algumas estatisticas. Agora imagine que voce precisa disparar dois processos desses em paralelo, dispara um web service e em seguida dispara o outro sem precisar esperar a conclusao do primeiro. Mesmo sendo um metodo sub (ou com retorno void) o processo que chamou o web service precisará aguardar a mensagem de retorno (http 200) que só chegará quando o web service terminar a execuçao para dai chamar o segundo.

Para resolver esse problema podemos adicionar um atributo ao web service informando que aquele método nao irá retornar nada, entao o segundo web service será chamado logo em seguida (em outras palavras, o processamento continua, nao fica esperando o retorno do web service). Essa chamada é conhecida como OneWayCall. Veja como fica a declaração do web method:

using System.Web.Services;
using System.Web.Services.Protocols;

public class Stats: WebService
{
[SoapDocumentMethod(OneWay=true)]
[WebMethod()]
public void GeraRelatorio1() {
// Codifique aqui
}
}

A chamada para um web services One Way Call é a mesma para um web service normal.

Esse truque funciona como uma chamdaa assincrona "fake", mas pode ajudar em diversos cenários. Voce pode ter o mesmo efeito fazendo chamadas assincronas "reais" mas vai dar um pouco mais de trabalho.

Outro caso que a chamada oneWayCall me ajudou foi quando precisei disparar um processamento no banco de dados e logo em seguida enviar uma mensagem ao usuário informando que o processamento estava sendo feito e liberar a aplicação para que o usuario pudesse continuar fazendo outras coisas.

Para se aprofundar :http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapdocumentmethodattribute.oneway.aspx

Have Fun!