Artigo "Garbage Collection" na .Net Magazine nº 59

02/25/2009 14:19:00 By Felipe Pessoto


Estou meio atrasado. Na edição de Janeiro, nº 59, saiu meu artigo sobre Garbage Collection. É um assunto interessante, apesar de não ser programação em si, envolve muitos conceitos importantes que deve ser levado em consideração na hora de programar. Qualquer dúvida, é só escrever aqui no blog ou enviar por email.

ASP.NET MVC no IIS 6.0

02/09/2009 08:25:00 By Felipe Pessoto

Agora com a versão Release Candidate do ASP.NET MVC resolvi começar a estudar sobre o assunto.

Como ainda sou usuário e fã do Windows XP, já imaginei que poderia ter problemas com o IIS 6.0. Acontece que o IIS só passa pro ASP.NET as chamadas que estão configuradas para isso, usando a extensão do arquivo. Então quando você chama a página /Home/About o ASP.NET nem fica sabendo, o IIS logo fala que a página não existe.

Você tem duas opções pra resolver o problema. Uma é adicionar um redirecionamento pro ASP.NET usando o wildcard *, isso faz com que todas as chamadas sejam enviados pro ASP.NET, o que terá impacto no desempenho geral do seu site.

A outra opção, que considero melhor, apesar de alterar sua URL é usar a extensão .aspx nas URLs, /Home/About será /Home.aspx/About. Além de não impactar no desempenho, na maioria das vezes é sua única opção pra quem usa hospedagem compartilhada e não tem acesso ao servidor.

Como o ASP.NET MVC cria os links quando você usa o Html.ActionLink, a única alteração necessária é no Global.asax, onde você vai apagar a rota padrão, e adicionar as seguinte:

routes.MapRoute(
"Default",
"{controller}.aspx/{action}/{id}",
new { action = "Index", id = "" }
);

routes.MapRoute(
"Root",
"",
new { controller = "Home", action = "Index", id = "" }
);

A segunda é apenas para o diretório raiz funcionar.

Depois de mudar o Global.asax basta compilar e atualizar o servidor que já vai funcionar!

Executando script após update via AJAX

02/06/2009 15:14:00 By Felipe Pessoto

Uma dica pra quem quiser executar um script sempre após o update do Ajax no Asp.Net.
Alguem scripts não funcionam se você envia-los pelo ScriptManager, pois precisam ser executados após a requisição do Ajax ser terminada e fechada. É o caso do PNGFix pro Internet Explorer 6.0.
Se você carregar imagens no seu UpdatePanel, o PNGFix não funciona pras novas imagens, mesmo mandando executar novamente pelo ScriptManager, esta foi a única alternativa que encontrei.

É simples, adicione a seguinte chamado ao body:

<body onload=" RegisterEndRequest()">

E adicione o script na sua página:

function RegisterEndRequest() {

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

}

function EndRequestHandler() {

$('.imagem').pngFix();

}



A primeira função é a que será chamada pelo onload do body, ela vai registrar a outra função para que seja executada sempre que terminar um update do Ajax. Na EndRequestHandler você coloca o seu código.

Simples!

Novo Forum MSDN Brasil

02/01/2009 22:10:00 By Felipe Pessoto

A MSDN Brasil está com forum novo, igual ao que foi inaugurado ao MSDN EUA já há algum tempo. Agora parece estar mais ágil e dinâmico.

O que incomoda é a falta de separações entre os forums, não existe mais grupo como .Net, Sql, etc...

O novo link é http://social.msdn.microsoft.com/Forums/pt-BR/categories/

Para mais informações, leia o post do Oneda, onde fiquei sabendo da novidade: http://oneda.mvps.org/blog/archive/2009/02/01/novo-f-rum-do-msdn-brasil.aspx