Archive

Archive for the ‘Framework’ Category

Centro de Treinamento em Novas Tecnologias Microsoft

MSDN Virtual Labs

Virtual Labs

Um recurso muito interessante do MSDN e o Virtual Labs.

O Virtual Labs e um programa que permite executar como se fosse uma maquina virtual na web e testar uma tecnologia especifica nessa maquina.

Ela permite que de maneira rapida o usuario possa avaliar e testar uma tecnologia microsoft utilizando hands-on labs que voce pode completar em menos de 90 minutos.

O Virtual Labs e gratuito, porem so existe a versao em ingles.

Vale a pena conferir: http://msdn.microsoft.com/pt-br/aa570323

Conteudo Plataforma .NET para Iniciantes

Ha um programa do MSDN para aprendizado de iniciantes na plataforma .NET.

O nome do programa é Beginner Developer Learning Center e existem os seguintes cursos:

– Desenvolvimento Web

Aborda como a Internet funciona e como criar grandes aplicativos web utilizando o Framework .NET com as linguagens C# ou Visual Basic .NET

Link: http://msdn.microsoft.com/pt-br/beginner/bb308760.aspx

– Desenvolvimento Windows

Aborda o desenvolvimento de software na plataforma windows. Ensina a escrever software para Windows XP, Vista ou Windows Server, usando Visual Basic, Visual C# ou Visual C++.

Link: http://msdn.microsoft.com/pt-br/beginner/dd435692.aspx

– Cantinho das Crianças

Abordar o ensino de C# ou Visual Basic .NET para crianças. Explica conceitos de como os computadores e programas funcionam.

Link: http://msdn.microsoft.com/pt-br/beginner/bb308754.aspx

Criando Seções Customizadas em .NET

Neste post iremos ver como montar uma seção customizada para um arquivo de configuração App.config ou Web.config

No exemplo iremos migrar os dados de um arquivo “.INI” com o formato abaixo para seções customizadas do app.config

Conteúdo Arquivo .INI

arquivo .INI

arquivo .INI

Existem três opções para a criação de uma seção customizada no app.config ou no web.config no .NET:

Opção 1: Utilizando a Classe SingleTagSectionHandler

A Classe SingleTagSectionHandler identifica o trecho da seção customizada em runtime e identifica

quais são as propriedades da seção. Para obter os dados da Seção é necessário fazer cast para o tipo Hastable.

Veja o exemplo Abaixo:

Arquivo App.Config trabalhando com SingleTagSectionHandler

Arquivo App.Config trabalhando com SingleTagSectionHandler

Utilizando a Classe SingleTagSectionHandler

Utilizando a Classe SingleTagSectionHandler

Opção 2: Utilizando a Classe NameValueSectionHandler

A Classe NameValueSectionHandler trata a seção como se fosse uma estrutura de dados do tipo NameValueCollection.

Para obter os dados da Seção é necessário fazer cast para o tipo NameValueCollection.

Veja exemplo abaixo:

Arquivo App.config utilizando a classe NameValueSectionHandler

Arquivo App.config utilizando a classe NameValueSectionHandler

Utilizando a Classe NameValueSectionHandler

Utilizando a Classe NameValueSectionHandler

Opção 3: Criar uma Classe que Herde de ConfigurationSection

Esta opção permite criar uma classe que represente os nós da seção customizada no app.config/web.config.

Principal vantagem é que não há a necessidade de fazer converção de tipos, visto que as informações da seção

são propriedades do objeto.

Para esta opção não fiz exemplo de código, caso queira ver como funciona segue logo abaixo algumas fontes muito boas:

Explica em 3 passos como criar a classe que custimza a seção

http://haacked.com/archive/2007/03/12/custom-configuration-sections-in-3-easy-steps.aspx

Explica cada classe do namespace System.Configuration

http://www.codeproject.com/KB/dotnet/mysteriesofconfiguration.aspx

How to: Create Custom Configuration Sections Using ConfigurationSection

http://msdn.microsoft.com/en-us/library/2tw134k3.aspx

Outra grande vantagem em utilizar a opção 3 é na necessidade de criptografar a seção customizada no App.config/web.config.

No caso o desenvolvedor saberia as propriedades da seção uma vez que estas propriedades é possível acessá-las pela classe

que herda do objeto ConfigurationSection, mas não saberia o conteúdo das suas propriedades e nem a disposição delas no

app.config/web.config.

No caso das duas outras opções uma vez criptografada a seção não daria para saber quais são as propriedades da seção.

Das opções 1 e 2 fiz um programa de exemplo de funcionamento de cada uma delas.

Caso queira baixar o exemplo para estudar segue link do programa de teste logo abaixo:

CustomSection.rar

Aceitando dado nulo com tipo Nullable

Algumas vezes precisamos passar o valor nulo ou não passar valor algum para uma variável da aplicação. Isto não é muito bom, mas em algumas circunstâncias, como por exemplo para tratar dados que vem do banco de dados, este recurso se torna muito útil.

Quando obtemos os dados do banco no formato de um DataReader ou no formato de um DataSet e obtemos o valor do dado, como por exemplo o valor de um campo inteiro, devemos declarar a variáveis que recebem o valor como do tipo object porque o valor do parâmetro pode retornar nulo e o tipo object aceita valor nulo.

Mas podemos criar variáveis que aceitam valores nulos, basta na declaração da variável explicitar que ela aceita valor nulo conforme abaixo:

Teste Tipo Nullable

Teste Tipo Nullable

No exemplo acima Nullable<int> valorNulavel é a mesma coisa que int? valorNulavelAbrevidado. A primeira opção é a declaração completa a segunda opção é uma abreviação da declaração.

Só há uma contrapartida em utilizar o tipo nullable na declaração de variáveis. No exemplo acima criei duas variáveis do tipo inteiro e inicializei ambas como nulo, porém a variável valorNulavel setei o seu valor para 2. E efetuei a soma.

Observe que a soma não é efetuada, visto que o tipo nulo não é reconhecido como um inteiro válido.

Internet Explorer na Linha de Comando

Um recurso interessante do internet Explorer é a opção de executá-lo via linha de comando.

Estava precisando executar o Internet Explorer em função de algumas condições via arquivo “.bat” e alterar algumas configurações do internet Explorer. Para executar o internet Explorer via linha de comando basta digitar o  comando abaixo na tela do dos ou colocar o comando dentro de um arquivo com formato “.bat”

start iexplore http://www.google.com.br

No caso no exemplo acima onde está http://www.google.com.br substitua pela url que deseja abrir no navegador.

Caso queira que a janela do internet explorer inicialize maximizada como se fosse em modo “Tela Cheia” adicione a opção “-k” conforme abaixo:

start iexplore –k http://www.google.com.br

A opção –k é conhecida como modo quiosque, ou no caso “kiosk mode”.

Segue logo abaixo as possíveis definições de linha de comando para o Internet Explorer:

start iexplore.exe [  [ -extoff ]

                                              [ -k ]

                                              [ -nohangrecovery ]

                                              [ -private ]  ]  [ URL ]

Na tabela abaixo segue uma breve descrição dos commandos suportados pelo Internet Explorer:

Linha de Comando Descrição
-extoff Internet Explorer 7 e versões superiores. Inicializa o Internet Explorer sem os complementos. Muito utilizado para resolver problemas de conflitos com complementos.
-k Internet Explorer abre a tela em modo Quiosque, “kiosk mode”. O navegador abre com a janela maximizada e não exibe nenhum menu do navegador.
-nohangrecovery Internet Explorer 9. Previne o Internet Explorer de reestartar uma aba quando a aba não responde, quando a aba “trava”. Esta opção habilita os desenvolvedores a utilizarem ferramentas de debug para investigar os problemas com o Browser Helper Objects (BHOs), controles Microsoft ActiveX, e extensões de outros navegadores.
-private Internet Explorer 8 e versões superiores. Inicia o Internet Explorer no modo privado, “InPrivate”, ativado.
URL Endereço eletrônico que o internet explorer deverá abrir.

Conteúdo de Cursos Oficiais Microsoft, MOC

A Microsoft a pouco tempo disponibilizou no seu site de e-learning o Microsoft Learning os materiais dos cursos oficiais ministrados em sala de aula. Veja os materiais disponibilizados na íntegra no link logo abaixo:

http://www.microsoft.com/learning/en/us/training/companionmoc.aspx

Vale a pena conferir! Há diversos materiais de tecnologias microsoft que vão desde a instalação e configuração do Windows Server 2008 até ao desenvolvimento utilizando Silverlight. Dentre a relação de cursos posso destacar alguns:

Infraestrutura:

  • 6331A Deploying and Managing System Center Virtual Machine Manager
  • 6419B Configuring, Managing and Maintaining Windows Server 2008-based Servers
  • 6421B Configuring and Troubleshooting a Windows Server 2008 Network Infrastructure
  • 6422A Implementing and Managing Windows Server 2008 Hyper-V
  • 6425C Configuring and Troubleshooting Windows Server 2008 Active Directory Domain Services

Desenvolvimento:

  • 2956B Core Foundations of Microsoft .NET 2.0 Development
  • 2957B Advanced Foundations of Microsoft .NET 2.0 Development
  • 10263A Developing Microsoft Windows Communication Foundation Solutions with Microsoft Visual Studio 2010
  • 10265A Developing Data Access Solutions with Microsoft Visual Studio 2010

Banco de Dados:

  • 6231B Maintaining a Microsoft SQL Server 2008 R2 Database
  • 6232B Implementing a Microsoft SQL Server 2008 R2 Database
  • 2791A Implementing and Maintaining Microsoft SQL Server 2005 Analysis Services
  • 2792A Implementing and Maintaining Microsoft SQL Server 2005 Integration Services
  • 2793A Implementing and Maintaining Microsoft SQL Server 2005 Reporting Services