image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image

YF

Yasmim Fonseca10/10/2024 21:52
Compartilhe

Desafios Técnicos do WSL no Ambiente Windows

    Meu ambiente de desenvolvimento está configurado da seguinte forma: utilizo VS Code no Windows, mas o SDK do .NET está instalado no WSL. Isso me permite aproveitar a flexibilidade do Linux para desenvolvimento dentro de um sistema Windows, uma combinação bastante poderosa para quem está desenvolvendo para múltiplas plataformas.

    Porém, ao tentar desenvolver uma aplicação .NET que precisava se conectar a uma instância do SQL Server, que estava instalada no Windows, enfrentei um problema de conexão que não esperava.

    O Problema de Conexão

    O erro ocorreu porque o localhost do WSL é separado do localhost do Windows. Descobri que o WSL utiliza uma interface de rede diferente, o que impede que aplicativos rodando no WSL se conectem diretamente a serviços que estão rodando no Windows sem ajustes específicos. Essa separação de redes foi o motivo pelo qual minha aplicação .NET, rodando no WSL, não conseguia acessar o SQL Server instalado no Windows.

    A Solução: Docker

    Para resolver esse problema, decidi utilizar o Docker para instalar o SQL Server dentro do WSL em um container, o que eliminaria as dificuldades de conexão. Segui os seguintes passos:

    1. Instalei o SQL Server em um container Docker no WSL.
    2. Atualizei a string de conexão na aplicação para usar o SQL Server rodando dentro do container. A string de conexão ficou assim:
    "ConnectionStrings": { 
      "ConexaoPadrao": "Server=localhost,1433;Database=TrilhaApiDesafioDB;User Id=sa;Password=Teste123456!;" 
    }
    

    Com o SQL Server rodando dentro do Docker, a aplicação .NET rodando no WSL pôde se conectar sem problemas ao container, e assim consegui prosseguir com o desenvolvimento.

    Projeto em Desenvolvimento: Gerenciador de Tarefas

    Esse desafio técnico ocorreu enquanto eu estava desenvolvendo um Gerenciador de Tarefas, um dos projetos propostos no bootcamp XP Inc. - Full Stack Developer. A ideia é criar um sistema que permita cadastrar, editar e gerenciar uma lista de tarefas utilizando funcionalidades CRUD (Criar, Ler, Atualizar, Deletar).

    Embora o foco do projeto não fosse o uso de containers, aproveitei a oportunidade para explorar o uso do Docker e expandir meu conhecimento sobre o gerenciamento de bancos de dados em ambientes Dockerizados.

    Compartilhe
    Comentários (0)