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.
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!
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!
02/01/2009 22:15:00
By Felipe Pessoto
Para quem ainda não conhece, Giovanni Bassi é editor técnico da .Net Magazine, fundou um grupo sobre arquitetura de software, entre outros. Inaugurou seu site de consultoria. Vale a pena guardar esse link, o cara entendo muito de arquitetura e .Net e está sempre por dentro das novidades.
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