StackSpot.Template.Worker 1.0.4

dotnet add package StackSpot.Template.Worker --version 1.0.4
NuGet\Install-Package StackSpot.Template.Worker -Version 1.0.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="StackSpot.Template.Worker" Version="1.0.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add StackSpot.Template.Worker --version 1.0.4
#r "nuget: StackSpot.Template.Worker, 1.0.4"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install StackSpot.Template.Worker as a Cake Addin
#addin nuget:?package=StackSpot.Template.Worker&version=1.0.4

// Install StackSpot.Template.Worker as a Cake Tool
#tool nuget:?package=StackSpot.Template.Worker&version=1.0.4

StackSpot Template Worker

Componente projetado para auxiliar no desenvolvimento de serviços que são executados em background, seguindo os princípios da Clean Architecture.

Para saber mais sobre templates, acesse a documentação da microsoft.

Instalação

Para realizar a instalação do Scaffold em .NET, execute comando abaixo:

  • net6.0
dotnet new -i StackSpot.Template.Worker::*
  • net5.0
dotnet new -i StackSpot.Template.Worker.5.0::*

Caso a instalação do Scaffold tenha sido realizada com sucesso, será listado o template na lista de tipos de projetos, que podem ser criados no terminal.

Também é possível listar os templates existentes através do comando abaixo:

dotnet new

Uso

Para criar um projeto, acesse o diretório no qual deseja criar o projeto e execute o comando a seguir:

  • net6.0
dotnet new stackspot.worker -n Example -p example-worker -o .
  • net5.0
dotnet new stackspot.worker.net5 -n Example -p example-worker -o .

Nota: Lembre-se de alterar o nome do projeto e o repositório para serem aderentes ao domínio de seu serviço.

Alguns parâmetros desse comando são:

  • Nome da solução: -n
  • Nome do repositório git: -p
  • Criar o projeto no diretório atual: -o .

Execução do projeto criado

Após criar o projeto, acesse o diretório em que foi criado e execute o seguinte comando:

dotnet restore Example.Worker.sln

Realize também o build do projeto, através do comando abaixo:

dotnet build Example.Worker.sln

Realize a execução dos testes unitários e de integração, através do comando abaixo:

dotnet test Example.Worker.sln

Para testar a aplicação, ainda no diretório, execute o seguinte comando:

dotnet run --project ./src/Example.Worker/Example.Worker.csproj

Em seguida, abra http://localhost:5000/health no seu navegador.

Dica: Neste caso, a estrutura com exemplo foi criada automaticamente.

Desenvolvimento

Se durante o desenvolvimento do template for necessário instalar a partir do source, basta executar o comando abaixo na raiz do projeto:

  • net6.0
dotnet new -i templates/Template6
  • net5.0
dotnet new -i templates/Template5

Configuração do Docker

Para que o Docker funcione, você precisará adicionar um certificado SSL temporário e montar um volume para manter esse certificado. Você pode encontrar no Microsoft Docs que descrevem as etapas necessárias para Windows, macOS e Linux.

Para Windows: O seguinte precisará ser executado a partir do seu terminal para criar um certificado:

dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p Your_password123
dotnet dev-certs https --trust

NOTA: Ao usar o PowerShell, substitua %USERPROFILE% por $env:USERPROFILE.

PARA macOS:

dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p Your_password123
dotnet dev-certs https --trust

PARA Linux:

dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p Your_password123
dotnet dev-certs https --trust

Para construir e executar os containers docker, execute o comando abaixo na raiz da solução onde você encontra o arquivo docker-compose.yml

docker-compose -f 'docker-compose.yml' up --build

. Você também pode usar "Docker Compose" do Visual Studio para fins de debug. Em seguida, abra http://localhost:5000/health no seu navegador.

Visão Geral

Camada de Domain

Contem todas as entidades, enumerações, exceções, interfaces, tipos e lógicas específicas da camada de domínio.

Camada de Application

Essa camada contém toda a lógica do worker. É dependente da camada de domínio, mas não tem dependências de nenhuma outra camada ou projeto. Essa camada define interfaces que são implementadas por camadas externas. Por exemplo, se o aplicativo precisar acessar um serviço de notificação, uma nova interface será adicionada ao aplicativo e uma implementação será criada na infraestrutura.

Camada de Infrastructure

Essa camada contém classes para acessar recursos externos, como sistemas de arquivos, serviços da Web, smtp e assim por diante. Essas classes devem ser baseadas em interfaces definidas na camada de aplicação.

Camada de Worker

Essa camada é um serviço background em .net 5/6. Essa camada depende das camadas Aplicativo e Infraestrutura, no entanto, a dependência da infraestrutura é apenas para dar suporte à injeção de dependência. Portanto, apenas Startup.cs(net5.0) Program.cs(net6.0) deve fazer referência à infraestrutura.

Componentes Utilizados

Referências

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.4 505 4/27/2022
1.0.3 411 4/22/2022
1.0.2 427 4/16/2022
1.0.1 409 4/14/2022
1.0.0 416 4/14/2022