Retorno(1) ^^

24 02 2011

E ai pessoal estou de volta!!!

Depois de um tempo sem postar, de ferias (rs), estou voltando com algumas novidades.
Pretendo pra esse ano concluir alguns projetos pessoais e o pontapé inicial foi a certificação.

Durante minhas ferias obtive a certificação : Microsoft Certified Technology Specialist (MCTS)
Essa é uma das novidades.

Outra novidade que nem é tão nova assim é o meu domínio www.codeco.com.br
Agora estou migrando meu blog para o novo endereço www.codeco.com.br/blog troquei o visual e assim que eu me organizar melhor vou começar a postar.

Então me acompanhe nessa aventura …

Anúncios




Att – Monografia

27 08 2010

Pessoal, quero aproveitar o blog para explicar e pedir desculpas por eu não poder dar muita atenção ultimamente para todos.

Esse semestre tenho que fazer minha monografia da faculdade o que vai tomar bastante do meu tempo. Sendo assim não vou poder dar muita atenção e provavelmente não vai ter muitos posts nesse tempo.

O mesmo se aplica aos forums do msdn onde respondo.

Ainda assim eu gostaria de continuar ajudando o quanto puder, em questões rápidas e que não ocupem muito meu tempo, podem continuar me pedindo ajuda.





Erro ‘Insufficient Memory’ para Copiar e Colar no VS2010

25 08 2010

Essa semana tem ocorrido comigo um erro incomun, as vezes quando eu vou copiar algum trecho de codigo no VS2010 salta uma mensagem na tela.

Dei uma pesquisada na net e achei um patch para resolver o problema.

Então se você estiver com o mesmo problema de memoria insuficiente aplique o patch que resolvera seu problema.

Download do patch aqui.

Para mais informações sobre o erro clique aqui.





Microsoft® Visual Studio® LightSwitch

25 08 2010

Acabei de rodar minha primeira aplicação construida com o lightswitch e não digitei nenhuma linha de codigo. Simplesmente dei alguns cliques e pronto ja tinha uma aplicação com um CRUD completo e que alem de tudo exportava os dados pro excel.

Agora podemos criar uma aplicação sem precisar digitar nenhuma linha de codigo, isso é preocupante! o que sera dos desenvolvedores… rs  ^^

Não deixem de dar uma olhada nessa novidade.

Linq para Download.

E uma pequena introdução no bloh do Jason Zanders – Introducing Microsoft® Visual Studio® LightSwitch™

Se eu tiver um tempo essa semana eu faço um demo e disponibilizo para download.

Obs: Na hora da instalação se você ja tiver instalado o WCF RIA Services, desinstale-o antes de instalar LightSwitch. Caso contrario o setup dara um erro na hora de instalar o RIA. É que o WCF Ria Services faz parte da instalação do LightSwitch. Qualquer outro problema me mande um email com a duvida/problema.

email : adrielcodeco@hotmail.com





How To – Converter uma cor em String para Brush

23 08 2010

Quando vocês estão trabalhando com cores no code-behind e precisam setar o Background de um Grid por exemplo como #00554433 o que vocês fazem?
Algo assim: ?

grid.Background = new SolidColorBrush(Color.FromArgb(
    byte.Parse("00"),
    byte.Parse("55"),
    byte.Parse("44"),
    byte.Parse("33")
    ));

Eu simplesmente faço assim:

grid.Background = “#00554433”.ToBrush();

Um pequeno truque que eu uso, eu criei uma extension que pega a string com a cor e retorna um Brush.

public static Brush ToBrush(this string color)
{
    Brush brush =
        XamlReader.Load(
        "<Brush xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" " +
        "       xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">" +
        color +
        "</Brush>") as Brush;
    return brush;
}




Speech – Fazendo o computador falar

6 08 2010

Cara essa me surpriendeu. Eu não fazia ideia que o framework tinha essa feature.

Mas em fim, a partir do framework 3.0 temos uma dll chamada System.Speech.dll e uma de suas funções é, acredite, falar um texto que e passado por parâmetro a um metodo.

Bem, vejamos como fica, temos uma classe no namespace System.Speech.Synthesis chamada SpeechSynthesizer que tem um metodo chamado Speak que recebe uma string como parametro e fala a string Oo. \o/ … muito massa ^^ … pena que fala em ingles, até da pra mudar a linguegem selecionando o Voice com o metodo SelectVoice() mas o voice tem de estar instalado.

Pra testar voce pode criar um projeto Console Application, adicionar a dll no projeto e colocar o codigo a seguir no metodo Main

        static void Main(string[] args)
        {
            SpeechSynthesizer synth = new System.Speech.Synthesis.SpeechSynthesizer();
            string str = "Hello";
            do
            {
                str = Console.ReadLine();
                if (str == "/?")
                {
                    Console.WriteLine("");
                    Console.WriteLine("    /rate={Velocidade da fala}");
                    Console.WriteLine("    /volume={Volume da fala}");
                    Console.WriteLine("    {texto a ser falado} /save={Caminho completo do arquivo .wav a ser criado e salvo com a fala}");
                    Console.WriteLine("");
                    continue;
                }
                else if (str.Contains("/rate="))
                {
                    int rate;
                    if (Int32.TryParse(str.Replace("/rate=", ""), out rate))
                    {
                        synth.Rate = rate;
                        Console.WriteLine("    rate=" + synth.Rate);
                    }
                    continue;
                }
                else if (str.Contains("/volume="))
                {
                    int volume;
                    if (Int32.TryParse(str.Replace("/volume=", ""), out volume))
                    {
                        synth.Volume = volume;
                        Console.WriteLine("    volume=" + synth.Volume);
                    }
                    continue;
                }
                else if (str.Contains("/save="))
                {
                    string text = str.Split(new string[] { "/save=" }, StringSplitOptions.None)[0];
                    string path = str.Split(new string[] { "/save=" }, StringSplitOptions.None)[1];
                    if (File.Exists(path))
                    {
                        synth.SetOutputToWaveFile(path);
                        synth.Speak(text);
                        synth.SetOutputToDefaultAudioDevice();
                        Console.WriteLine("    " + text + " save=" + path);
                    }
                    continue;
                }

                var voices = synth.GetInstalledVoices();
                synth.Speak(str);
            } while (str.ToUpper() != "exit".ToUpper());
        }

Com a aplicação rodando, pra ver as opções digite /?

Nele voce pode configurar o volume e a rate (velocidade da voz).

Tem tambem uma aplicação em windows form que voce pode usar pra testar.

para baixar a aplicação windows form clique aqui.

para baixar a aplicação console que eu criei clique aqui.





Passo a passo – AppFabric-Enabled WCF Data Service

6 08 2010

Este post foi copiado e traduzido do blog de Ron Jacobs

Neste explicação passo a passo eu vou lhe mostrar como usar o AppFabric-Enabled WCF Data Service (C#) template para o Visual Studio 2010 para melhorar o seu WCF Data Services, fornecendo

  • Monitoramento de eventos e erros ao AppFabric Data Store
  • Eliminando a necessidade de usar a extensão .Svc no seu URI

Requisitos

Passo 1 – Criar um Aplicativo da Web
  1. Inicie o Visual Studio 2010
  2. Selecione Arquivo / Projeto Novo
  3. Escolha um Web Application Template – para esse exemplo eu usei Empty Web Application
Passo 2 – Adicionar um modelo de dados ADO.NET Entity
  1. Para o meu banco de dados estou usando o banco de dados de exemplo AdventureWorksLT para SQL Server 2008r2
  2. Botão direito do mouse em seu projeto e selecione Add / New Item …
  3. Selecione o ADO.NET Entity Data Model modelo
  4. Nome do modelo AdventureWorks.edmx
  5. Selecione Gerar Banco de Dados
  6. Conecte-se AdventureWorksLT e utilizar as configurações padrão
  7. Selecione todas as tabelas, marcando a caixa Tables
Passo 3 – Adicionar uma AppFabric-Enabled WCF Data Service
  1. Botão direito do mouse em seu projeto e selecione Add / New Item …
  2. Selecione Modelos Online
  3. Na caixa tipo de pesquisa AppFabric
  4. Selecione o AppFabric-Enabled WCF Data Service (C #) Template
  5. Nome que AdventureWorks.svc

    Add New Item AppFabric-enabled WCF Data Service C#
  6. Clique em Install para instalar o template no seu computador
Código Passo 4 – Modificar o modelo

Nós adicionamos tarefas TODO no modelo para guiá-lo através de tarefas que você precisa fazer para tornar seu serviço pronto

  1. Substituir classe [[nome]] com AdventureWorksLTEntities
  2. Modificar o código SetEntitySetAccessRule como mostrado para todas as entidades (“*”)
  3. Se você quiser usar uma rota diferente, você pode definir que, como bem
// This method is called only once to initialize service-wide policies.
public static void InitializeService(DataServiceConfiguration config)
{
    // Enable read only access to all entities
    config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
    config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;

    RouteTable.Routes.Add(
        new ServiceRoute("AdventureWorks", new DataServiceHostFactory(), typeof(AdventureWorks)));
}
Passo 5 – Modificar o web.config
  1. Em AdventureWorks.svc.cs expandir #region Sample Config with End-To-End Monitoring enabled”
  2. Selecione o XML comentado e tire-o (Ctrl + K, Ctrl + U)
  3. Copie-o para o clipboard
  4. Comentário-lo novamente (Ctrl + K, Ctrl + C)
  5. Abra web.config
  6. Cole o XML dentro da tag <configuration>
<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <diagnostics etwProviderId="830b12d1-bb5b-4887-aa3f-ab508fd4c8ba">
      <endToEndTracing propagateActivity="true" messageFlowTracing="true" />
    </diagnostics>
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <etwTracking profileName="EndToEndMonitoring Tracking Profile" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="UrlRoutingModule"/>
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </modules>
    <handlers>
      <add
      name="UrlRoutingHandler"
      preCondition="integratedMode"
      verb="*" path="UrlRouting.axd"
      type="System.Web.HttpForbiddenHandler, System.Web,
                      Version=2.0.0.0, Culture=neutral,
                      PublicKeyToken=b03f5f7f11d50a3a"/>
    </handlers>
  </system.webServer>
</configuration>
Passo 6 – Execute o serviço no IIS

Para ver os eventos no Windows Server AppFabric que você precisa para implantar o projeto da Web para o IIS ou modificar seu projeto para sediar a solução no local do servidor IIS. Para este exemplo vou modificar o projecto de acolhimento com o servidor IIS local. Nota: Isto requer que você executar Visual Studio como

Administrador

  1. Se você não estiver executando o Visual Studio como Administrador, sair e reiniciar o Visual Studio como administrador e recarregar seu projeto. Para mais informações, consulte Usando o Visual Studio com o IIS 7
  2. Botão direito do mouse sobre a WebApplication e selecione propriedades
  3. Vá até a aba Web
  4. Verifique Use Local IIS Web Server e clique em Create Virtual Directory
  5. Pressione Ctrl + Shift + S para salvar as configurações do projeto (depuração não irá salvá-los)
  6. Open AdventureWorks.svc.cs
  7. Pressione F5 para depurar
  8. O serviço será aberto no depurador e apresentação de documento de serviço
    Service working
  9. Retire a extensão. Svc da URI e tente novamente. Funcionará sem a extensão. Svc na URI.
    Se isto não está funcionando para você ver System.Web.Routing RouteTable não funciona com o IIS?
    Se você quiser desativar o URI com o svc extensão. (E eliminar o svc arquivo.) Ver este post
  10. Se você ver um erro no log de eventos (Login failed for user ‘IIS AppPool \ DefaultAppPool. Motivo: Falha ao abrir o banco de dados especificado explicitamente. [CLIENT: <local máquina>]) Você precisa conceder permissão para IIS usuário para acessar o banco de dados
USE [AdventureWorksLT]
GO
CREATE USER [IIS USERS] FOR LOGIN [BUILTIN\IIS_IUSRS]
GO
USE [AdventureWorksLT]
GO
EXEC sp_addrolemember N'db_datareader', N'IIS USERS'
GO
Passo 7 – Ver Eventos em AppFabric
  1. Iniciar Gerenciador do IIS
  2. Abra o Dashboard AppFabric
  3. Clique em um dos links para WCF
  4. Botão direito do mouse em um evento e selecione Exibir todos os eventos relacionados para ver eventos detalhados

AppFabric Dashboard

Tracked Events