Como saber se um aplicativo .NET é 32 ou 64 bits

No desenvolvimento de aplicações .NET seja ela, ASP.NET, ASP.NET MVC, Windows Library, Windows Form é possível utilizamos algumas diversas linguagens para programação. Porem é possível também definir que nosso executável ou assembly rode em plataforma 32 bits, 64 bits ou para ambas as plataformas (Any CPU).

Mais imagina-se a seguinte situação, um pouco absurda, mais possível de se ocorrer. Você é um implantador de sistemas e deverá atender a uma demanda em um cliente. Implantar o sistema e se depara com um erro ao executar o sistema que acabou de instalar com a seguinte mensagem:


System.BadImageFormatException: Could not load file or assembly '<assembly>' or one of it dependencies. An attempt was made to load programa with an incorrect format.

Alguns outros Exceptions poderão ser vistos aqui nesse artigo sobre Exceptions do .NET Framework

Esse erro ocorrer porque um assembly necessário não foi encontrado na tentativa de executar o sistema. Mais analisando o sistema, é identificado que o assembly se encontra junto ao projeto. Isso ocorre porque o assembly que tentou-se carregar está em uma plataforma diferente do sistema.

Leia mais… »

Criando CRUD com Asp.Net Web Forms 4.5

A Microsoft lançou recentemente o novo Framework Web Forms 4.5, que herdou muitas features do asp.net MVC. Vou falar sobre 2 novas funcionalidades do mesmo.

Vou criar uma aplicação bem simples para mostrar as novas funcionalidades.

Vou usar Visual Studio 2013 e Entity Framework 6. Você pode usar o visual studio 2012 e o EF anterior ao 6.

Vou fazer um pequeno crud usando:

  • Entity Framework Code First, LocalDB
  • Data Annotations

Leia mais… »

Sorteio do livro Como Melhorar a Performance de WebSites .NET – Editora Novatec

como_melhorar_a_performance_de_websites_net

Olá caro leitor do C# Brasil. O que acha da ideia de começar o ano de 2014 com um super livro e ainda ganhar um descontão em qualquer outro livro da Editora Novatec?

É isso mesmo! O C# Brasil em parceria com a Editora Novatec, presenteará um de nossos leitores com o livro “Como Melhorar a Performance de WebSites .NET” do autor Alfredo Lotar. Quem nos acompanha já deve ter lido sobre ele no artigo anterior. O livro aborda os segredos dos sites de alto desempenho. Não é um excelente presente de natal?

Para participar é fácil. Basta acessar a Fanpage do C# Brasil no Facebook, clicar na aba Promoções e clicar em Quero Participar. Além disso, o participante deverá curtir a Fanpage do C# Brasil e da Editora Novatec e aguardar a chegada do sorteio. O anúncio do ganhador será realizado no dia 16/12/2013 pelo Facebook. Só participa quem cumprir as regras estabelecidas e assim que o ganhador for anunciado, ele deverá entrar em contato no máximo até o dia 18/12/2013. Caso contrário, será realizado um novo sorteio.

Mais o presente não para por ai. Se existir algum outro livro no site da Editora Novatec que deseje muito, você poderá adquiri-lo com um grande descontão. Isso mesmo, você leitor do C# Brasil e fã da Editora Novatec, poderá ter um desconto de 20% na compra de qualquer livro do site. Mais não demore, pois o desconto é valido até 31/12/2014. Para ganhar o desconto, basta na hora da compra informar o código CSHARPBRASIL.

Então, o que está esperando?

Vamos lá! Acesse o Facebook, curta a Fanpage do C# Brasil e da Editora Novatec e boa sorte!

Leia mais… »

Como Melhorar a Performance de WebSites .NET – Editora Novatec

como_melhorar_a_performance_de_websites_net

Muitos de nós profissionais de TI, sabemos o quanto é importante a experiência. E é essa experiência que faz diferença muitas vezes na hora de executar alguma tarefa no nosso dia-a-dia.

Imagine uma situação onde você é alertado pela equipe de suporte, ou pelo seus alertas de monitoramento da aplicação de missão critica ou até mesmo o telefonema de um cliente sobre a indisponibilidade do seu sistema. E isso vem acompanhado diversas perguntas que muitas vezes sequer possuem respostas. Sabemos também que na maioria dos casos é possível sim evitar esse desconforto perante a equipe, cliente e até mesmo gerência.

Porque citei esse tipo de situação? Porque qualquer um passou ou passará por essa situação um dia independente da área que atue.

Porém, para os que ainda não possuem esse tipo de experiência, pode evitar essa situação aprendendo com quem já possui mais experiência ou por quem entende do assunto. Então como evitar essa situação deixando nossa aplicação com maior desempenho?

Leia mais… »

Sys.WebForms.PageRequestManagerServerErrorException

Sys.WebForms.PageRequestManagerServerErrorException: An Unknown error occurred while processing the request on the server. The status code returned from the server was: 12031

Uma das razões para essa exceção ocorrer é o tamanho do View State que pode estar excedendo o tamanho limite padrão de envio de dados para o servidor suportado pelo ASP.NET.
Para contornar esse problema podemos alterar o tamanho padrão suportado pelo ASP.NET no Web.config na sessão .
Leia mais… »

ASP.NET UpdatePanel Time Out

Em requisições assíncronas de um UpdatePanel que levam mais de 90 segundos pode ocorrer o seguinte erro:

Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerTimeoutException: The server request timed out.

Isso ocorre porque 90 segundos é valor default para o timeout de uma requisição via UpdatePanel, se alguma de suas solicitações levam mais de 90 segundos para processamento você pode alterar o valor de timeout no ScriptManager configurando a propriedade AsyncPostBackTimeout=”600″ no ScriptManager, o tempo deve ser em segundos.
Leia mais… »

Não execute ASP.NET em Produção com debug ativado

Em resumo:

  • A compilação de paginas ASP.NET leva muito mais tempo, porque otimizações ficam desativadas
  • O código pode executar mais lento, porque caminhos adicionais de depuração estão desativados.
  • Muito mais memória é usada pelo aplicativo no tempo de execução
  • Scripts e imagens baixadas por componentes como Ajax ToolKit ou similares não são armazenados em cachê.
  • Abre uma brecha na segurança, pois as mensagens de erro podem ser exibidas detalhadamente no servidor remoto expondo a aplicação.

O <deployment retail=”true”/> no Maching.config:
Leia mais… »

[Emprego] Vaga para Programador .NET Pleno, Sênior e Analista Desenvolvedor

Olá a todos!

Uma amiga que trabalha com Hunting, me enviou um e-mail com algumas vagas de emprego. Quem se interessar segue abaixo os detalhes.

Programador .Net Pleno

  • Experiência de pelo menos 3 anos com .Net, ASPNET MVC, C#.
  • Graduação completa na área de TI.
  • Banco de dados: SLQ Server
  • Localização: Vila Olímpia.
  • Contratação: CLT + benefícios.

Leia mais… »

Série: Ajax Control Toolkit – Tutoriais – Accordion

Galera, sejam bem vindos! Hoje vamos começar pra valer nossa série do Ajax Control Toolkit e abordaremos o uso do Accordion.

Primeiro vou iniciar descrevendo as propriedades do accordion pane.

  • SelectedIndex – O AccordionPane que iniciará com as informações visíveis ou p´re-selecionado.
  • HeaderCssClass – Nome da classe CSS para usar nos cabeçalhos. Este pode ser aplicado ao Accordion como um padrão para todos os AccordionPanes, ou um AccordionPane individual.
  • HeaderSelectedCssClass – Nome da classe CSS para usar para o Accordion selecionado. Também pode ser aplicado para um ou para todos os AccordionPanes.
  • ContentCssClass – Nome da classe CSS para usar no body do acordion/conteúdo. Pode ser aplicado a todos.
  • FadeTransitions – ‘True’para  habilitar o efeito de transição Fade/Suave, ou  ‘False’ para transições padrão(sem efeitos de fade).
  • TransitionDuration – Número de milissegundos para animar as transições de um panel para o outro.
  • FramesPerSecond – Número de quadros por segundo usados nas animações de transição, se vai ser um fade lento ou rápido.

Leia mais… »

Série: Ajax Control Toolkit – Tutoriais

Sejam bem vindos galera, estou iniciando uma série de tutorias sobre os componentes do ajax control toolkit, sabendo que existem diversos tutorias pela web sobre o assunto que em minha opinião a maioria não abrange todos os componentes e são mal explicados. E como eu também já tive muita dificuldade sobre o assunto, decidi ajudar principalmente os iniciantes no .NET com esta serie abrangendo todos os controles um por um.

Ajax Control Toolkit

Leia mais… »

Como alterar uma classe Css via C#

Olá caro leitor!

Quando se trata de CSS, muitos desenvolvedores sofrem por não terem muita prática e criativadade com manipulação de design.

A alteração de uma classe de css pode ser feita atraves do código c# e é um procedimento muito simples.
Primeiramente em uma pagina aspx,temos o seguinte código css:

Leia mais… »

Algumas regras para o uso eficaz de CSS no ASP.NET Web Forms

Tornar-se compatível com os padrões web ao usar CSS com ASP.NET Web Forms nem sempre é uma tarefa facil, segue abaixo uma serie de dicas que podem ajudar no caminho.

1. Prefira CSS ao invés de ASP.NET Skins.

  • CSS é um padrão bem aceito
  • Designers entendem CSS mas não conseguem entender o mecanismo de propriedades do ASP.NET
  • Skins levam a “Classitis”. Cada skin cria um atributo de classe HTML que tem seus estilos associados. Isso não segue o principio da reutilização.
  • Uma boa implementação de CSS externo um tamanho menor e um download mais rápido do que sua implementação equivalente com skins.
  • A própria Microsoft investiu em ferramentas de design CSS (o Expression Web e a inclusão do motor do Expression Web apartir da versão 2008 do Visual Studio) e realmente não fazem mais nada com skins. Então siga seu exemplo. CSS esta tendo um melhor suporte pelas ferramentas Microsoft.

Leia mais… »

Definindo o valor de um TextBox configurado para password em ASP.NET

Quando a propriedade TextMode de um TextBox é definida como password a propriedade Text não será exibida em tempo de execução, esse comportamento é uma forma de manter a segurança impedindo que a mesma seja visualizada pelo HTML da pagina.

Porem em alguns casos é necessário exibir o valor com sua respectiva mascara no TextBox. Por exemplo, uma pagina que exibe o perfil do usuário, onde o usuário tem a capacidade de alterar sua senha faz sentido exibi-la no TextBox. Afinal o usuário já deverá estar autenticado para acessar a pagina do seu perfil (embora o valor será enviado para o navegador e poderia ser facilmente interceptado por algum sniffer).

Leia mais… »