Processando arquivo no servidor

Nesta aula iremos aprender como corrigir o acesso a servidores de banco de dados e aplicação, instalar o serviço job feito com aplicação Windows e processar o arquivo em background.

assinaturaAssine nossa Comunidade

Aplicação Web MVC C# - Processando arquivo no servidor

O objetivo da aula de hoje é fazer o processamento de arquivos no servidor da AWS.

Conexão com servidor AWS

  • Na AWS, acessar a instância através do menu RDS > Databases > upload-lote;
  • Clicar em Connectivity & Security;
  • Clicar em segurança e fazer liberação para trabalhar com TCP-IP;
  • Adicionar rule em inbound -> edit;
  • Selecional All TCP -> Anywhere e salvar;
  • Dar permissão de escrita no servidor remoto;
  • Criar pasta Upload no servidor;
  • Liberar permissão de escrita na pasta upload para o usuário IIS;

Job aplicação Windows - processar arquivos na AWS

Criaremos um botão no formulário windows , que vai executar a função processar().

      
        namespace BackgroundMode
        {
          public partial class Form1 : Form 
          {
            public Form1()
            {
              InitializeComponent();
            }

            private void button1_Click(object sender, EventArgs e)
            {
              processar();
            }

            public void processar()
            {
              lblResultado.Text = "Processando...";
              List< Arquivo> arquivos = null;
              using(var dbArquivo = new UploadDB())
              {
                arquivos = dbArquivo.Arquivo.where(a=> a.Processado == 0).ToList();
              }
              foreach(var arquivo in arquivos)
              {
                var lines = System.IO.File.ReadAlllines(@"C:\importa3.csv");

                foreach(var string line in lines)
                {
                  using(var dbSave = new UploadDB())
                  {
                    string[] colunas = line.Split(';');
                    if(colunas[0].ToLower().Trim() == "nome") continue;
                    var cliente = new CLiente() { Nome = colunas[0], Telefone = colunas[1], 
                                                  CPF = colunas[2], IdArquivo = arquivo.id };
                    dbSave.Cliente.Add(cliente);
                    dbSave.SaveChanges();
                  }
                }
                using(var dbProcessado = new UploadDB())
                {
                  dbProcessado.Database.ExecuteSqlCommand("update arquivo set processado = 1 where id=" + arquivo.id);
                }
                  
              }

              lblResultado.Text = "Dados processados com sucesso";
            }
          }

          private void timer1_Tick(object sender, EventArgs e)
          {
            processar();
          }
        }
       
    

Processando arquivo no servidor

Nesta aula iremos aprender como corrigir o acesso a servidores de banco de dados e aplicação, instalar o serviço job feito com aplicação Windows e processar o arquivo em background.

Próximas Aulas:
assinaturaAssine nossa Comunidade

Aplicação Web MVC C# - Processando arquivo no servidor

O objetivo da aula de hoje é fazer o processamento de arquivos no servidor da AWS.

Conexão com servidor AWS

  • Na AWS, acessar a instância através do menu RDS > Databases > upload-lote;
  • Clicar em Connectivity & Security;
  • Clicar em segurança e fazer liberação para trabalhar com TCP-IP;
  • Adicionar rule em inbound -> edit;
  • Selecional All TCP -> Anywhere e salvar;
  • Dar permissão de escrita no servidor remoto;
  • Criar pasta Upload no servidor;
  • Liberar permissão de escrita na pasta upload para o usuário IIS;

Job aplicação Windows - processar arquivos na AWS

Criaremos um botão no formulário windows , que vai executar a função processar().

      
        namespace BackgroundMode
        {
          public partial class Form1 : Form 
          {
            public Form1()
            {
              InitializeComponent();
            }

            private void button1_Click(object sender, EventArgs e)
            {
              processar();
            }

            public void processar()
            {
              lblResultado.Text = "Processando...";
              List< Arquivo> arquivos = null;
              using(var dbArquivo = new UploadDB())
              {
                arquivos = dbArquivo.Arquivo.where(a=> a.Processado == 0).ToList();
              }
              foreach(var arquivo in arquivos)
              {
                var lines = System.IO.File.ReadAlllines(@"C:\importa3.csv");

                foreach(var string line in lines)
                {
                  using(var dbSave = new UploadDB())
                  {
                    string[] colunas = line.Split(';');
                    if(colunas[0].ToLower().Trim() == "nome") continue;
                    var cliente = new CLiente() { Nome = colunas[0], Telefone = colunas[1], 
                                                  CPF = colunas[2], IdArquivo = arquivo.id };
                    dbSave.Cliente.Add(cliente);
                    dbSave.SaveChanges();
                  }
                }
                using(var dbProcessado = new UploadDB())
                {
                  dbProcessado.Database.ExecuteSqlCommand("update arquivo set processado = 1 where id=" + arquivo.id);
                }
                  
              }

              lblResultado.Text = "Dados processados com sucesso";
            }
          }

          private void timer1_Tick(object sender, EventArgs e)
          {
            processar();
          }
        }