Categorias
seguran??a web.config

Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

Retornando das cinzas com dicas, macetes e artigos depois de tanto tempo e in??meros e-mails o bom filho a casa torna. Restaurando os e-mails de alguns internautas duvidosos, muitos se depararam o erro:

“Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.”

Geralmente sempre acontece quando tentam publicar uma aplica????o em um servidor externo e dizem: na minha m??quina estava funcionando! N??o ??? Se identificou? Adicionem no web.config o n??vel de seguran??a:

<system.web>    
     <trust level=Full/> 
</system.web>

E se n??o der para adicionar ou se n??o funcionar? Rapaz, esse assunto ?? pol??mico (envolve seguran??a, bla bla bla). Tem servidores e servidores e n??o vale a dor de cabe??a de ter adaptar demais sua aplica????o para o que o provedor te oferece. Acredito que para uma boa rela????o ambos tem que caminhar de m??o dadas.

Categorias
asp erros iis seguran??a web.config

Error 500 Internal Server Error – Como descobrir o problema

Quando d?? esse erro muitas pessoas tremem s?? de ver! Abaixo darei uma dica para quem ?? marinheiro de primeira viagem e se depara com isso.

Essa tela ?? gerada pelo IIS para camuflar o erro para o usu??rio. Se a aplica????o n??o for bem tratada quanto a erros, esse ?? o ??ltimo recurso que o IIS faz para n??o exibir o erro na tela. Seria bem inc??modo para o usu??rio ver na tela o erro de seu site, por exemplo. Para quem est?? gerenciando a aplica????o ?? inc??modo at?? certa parte, pois muitas vezes o desenvolvedor resolve o problema mais olhando o erro do que analisando log, events, etc. Pois bem, vamos l??!

Abra o IIS e procure pela fun????o Error Pages (P??ginas de Erro) no m??dulo IIS. Entre e procure pelo link Edit Resource  Settings (Editar Configura????es de Recurso). Ao abrir, a tela de Edit Error Pages Settings (Editar Configura????es de P??gina de Erro) escolha a op????o Detailed errors (Erros detalhados) e OK.

Ou, mais especificamente para o ASP.NET, procure a fun????o .NET Error Pages (P??ginas de Erro do .NET) no m??dulo ASP.NET. Entre e procure pelo link Edit Resource  Settings (Editar Configura????es de Recurso). Ao abrir, a tela de Edit Error Pages Settings (Editar Configura????es de P??gina de Erro) escolha a op????o Desactive (Desativar) e OK.

Com isso, a depender do erro, j?? estar??o sendo enviados para a tela. Lembram do post sobre seguran??a? No web.config, deixe o customErrors com o atributo mode=”Off” caso necess??rio para que os erros sejam exibidos.

Caso ainda n??o tenha descoberto o problema, acesse a configura????o do ASP  no m??dulo IIS. Expanda a propriedade Debugging Properties (Propriedades de Depura????o) e coloque como True a fun????o Send Errors to Browser (Enviar Erros ao Navegador).

Isso deve ser mais do que o suficiente para exibir o erro e identificar qual o problema est?? na aplica????o. Lembrando que, se prefer??vel, n??o deixar o erro ser exibido para o cliente. Deve-se fazer o poss??vel para tratar e localizar adequadamente o problema. Seguran??a em primeiro lugar!

Categorias
dicas erros web.config

Erros mais frequentes no ASP.NET

Para quem est?? come??ando a desenvolver com ASP.NET e se depara com a tela amarela, j?? deve ficar horrorizado com a linguagem. Diferente das linguagens ultrapassadas, essa tela ?? muito ??til para desvendar os problemas e, posteriormente, corrig??-los.

As telas de erro do ASP.NET mais comuns s??o aquelas nas quais s??o exibidas direto o erro para o usu??rio. Lembrando que j?? vimos em um post que isso demonstra vulnerabilidade do sistema mas que, a n??vel de homologa????o, ?? utiliz??vel para identificar os problemas, an??lise da pilha e comportamento do mesmo.

N??o vou explicar tudo sobre erros no ASP.NET sen??o ter??amos um grande post de tudo o que ocasiona erros, mas para auxiliar os iniciantes, a Locaweb disponibilizou um t??pico nas quais explica os erros mais comuns de programa????o bem como corrig??-los. D??em uma lida para conferir… Veja aqui!

Categorias
ajax desempenho dicas web.config

Melhorando o desempenho de aplica????es ASP.NET que usam AJAX

Alguns dias atr??s estava lendo alguns artigos sobre desempenho e achei um artigo interessante de LanceZhang na qual ele fez uma bateria de testes em um website que possuia controles ASP.NET AJAX. O artigo voc?? l?? na ??ntegra aqui. Mas, como se diz na web, “?? old mas ?? gold!”, aproveitei o artigo dele para resumir (tirar o quente) das configura????es que ele aplicou e os colocarei aqui. Para quem sabe ingl??s o artigo ?? indispens??vel a leitura, pois l?? ele mostra com detalhes os testes realizados bem como os gr??ficos de desempenho.

Bem, o que ele fez? Encheu uma p??gina de controles AJAX e primeiramente mediu o tr??fego na rede averiguando a quantidade de bytes que s??o carregados quando feito uma requisi????o, sendo ela quando dado um PostBack ou apenas no Load da p??gina. Quem tem o Firefox, com certeza deve ter o plugin Firebug instalado. No Firebug tem uma sess??o de monitoramento de Rede que analisa as chamadas realizadas.

A primeira coisa notada ?? o tamanho da p??gina que estava muito grande. O uso do cache reduzia bruscamente o tamanho da p??gina sem fazer novos carregamentos desnecess??rios. Juntamente com a compress??o do ScriptResource que reduz ainda mais o tamanho dos scripts gerados.  Ent??o, no web.config, devemos aplicar a seguinte configura????o:

<system.web.extensions>
<scripting>
<scriptResourceHandler enableCompression=true enableCaching=true />
</scripting>
</system.web.extensions>

Fa??a um novo teste e notar?? a diferen??a! Outro aplica????o de desempenho ?? a forma como o ScriptManager do AJAX ?? trabalhado. Ent??o ?? sugerido us??-lo com a seguinte configura????o:

<asp:ScriptManager ID=ScriptManagerAjax runat=server EnablePartialRendering=false ScriptMode=Release LoadScriptsBeforeUI=false>
</asp:ScriptManager>

Cuidado com o EnablePartialRendering! Fa??a o teste em sua aplica????o com os valores false ou true porque a depender do que voc?? usa em seu sistema isso muda muito no comportamento dos scripts. Por ??ltimo, voc?? pode usar o CompositeScript dentro do ScriptManager para agregar v??rias chamadas de scripts em uma s??. Veja l?? no site de LanceZhang como fazer, caso tenha interesse nessa parte e se isso ainda n??o foi o suficiente.

Agregado a isso, e fora do escopo, voc?? pode usar a compress??o/compacta????o do ViewState para minimizar o tamanho da p??gina. Voc?? pode encontrar artigos relacionados por a?? na net, mas aconselho dar uma lida nesse aqui ou esse a depender de como queira utilizar. Muitas vezes eu prefiro desabilitar o ViewState… Mais r??pido, s?? que com cautela!

Categorias
dicas web.config

Problema no ASP.NET Menu no Chrome e Safari

Me veio esse problema a alguns dias ao usar o ASP.NET Menu. Nunca tinha usado para desenvolver menus. Geralmente uso o componente da DevExpress, o ASPxMenu, no qual consiste em um menu robusto, flex??vel e mil vezes melhor que o menu convencional. Pois bem… Quando reparei, vi que no Chrome n??o funcionava… Uai! Procurando informa????es, obtive que o ASP.NET n??o renderiza direito o menu diante desses navegadores e que a solu????o era adicionar uma configura????o de browser na aplica????o. Li v??rios artigos mas s?? Seiti mostrou em seu blog uma forma mais elegante e funcional de corrigir (clique aqui para ver na ??ntegra).

Basicamente, crie a pasta App_Browsers em sua aplica????o e adicione um arquivo safari.browser. Em seguida adicione o trecho abaixo:

<browsers>
    <browser refID=Safari1Plus>
        <controlAdapters>
            <adapter controlType=System.Web.UI.WebControls.Menu adapterType=“” />
        </controlAdapters>
    </browser>
</browsers>

Agora funciona! Mais detalhes veja o blog de Seiti.

Categorias
dicas seguran??a web.config

Vulnerabilidade de Seguran??a no ASP.NET

Recentemente, em um congresso internacional, descobriu-se um problema de vulnerabilidade em sistemas ASP.NET atrav??s do web.config. O problema afeta todas as vers??es do framework… A mat??ria completa de como ?? o ataque e de como se proteger podem ser lidos nesses posts de Scott Guthrie:

  1. Important: ASP.NET Security Vulnerability
  2. Frequently Asked Questions about the ASP.NET Security Vulnerability

A priori, para impedir o ataque, proteja sua aplica????o fazendo com que os erros n??o sejam exibidos para o cliente. No web.config adicione as seguintes tags:

<configuration>
   <system.web>
      <customErrors mode=”On” defaultRedirect=”~/Erro.aspx” />
   </system.web>
</configuration>

Assim, toda vez que ocorrer um erro, ir?? ser redirecionado para uma tela espec??fica.