Connect with us

Boas Práticas

𝗨𝘀𝗶𝗻𝗴 𝗗𝗲𝗰𝗹𝗮𝗿𝗮𝘁𝗶𝗼𝗻, para que serve e como usar no C#8

O 𝘂𝘀𝗶𝗻𝗴 𝗱𝗲𝗰𝗹𝗮𝗿𝗮𝘁𝗶𝗼𝗻 é um novo recurso introduzido no C# 8 que permite declarar um objeto descartável e descartá-lo automaticamente quando ele sair do escopo. Isso é semelhante à instrução using, mas a declaração using não exige que você coloque a declaração entre um bloco de chaves. Isso torna o código mais legível e fácil de entender.

Published

on

Fala dev, mais uma dica…

📢 DICA CODIGO LIMPO

✔ 𝗨𝘀𝗶𝗻𝗴 𝗗𝗲𝗰𝗹𝗮𝗿𝗮𝘁𝗶𝗼𝗻

✅ O bloco 𝘁𝗿𝘆-𝗳𝗶𝗻𝗮𝗹𝗹𝘆 é usado para operações de limpeza mais gerais. Garante que o bloco “finalmente” seja executado, independentemente de uma exceção ter sido lançada ou não. Isso geralmente é usado quando você precisa garantir a limpeza, como fechar um arquivo, liberar um bloqueio ou liberar outros recursos que não são manipulados diretamente pelo método Dispose().

✅ O 𝘂𝘀𝗶𝗻𝗴 𝘀𝘁𝗮𝘁𝗲𝗺𝗲𝗻𝘁 é usado principalmente para gerenciar recursos que implementam a interface IDisposable. Essa interface indica que um objeto requer limpeza explícita depois de não ser mais necessário, como fechar arquivos, conexões de banco de dados ou soquetes de rede. A instrução using garante que o método Dispose seja chamado no objeto quando ele sair do escopo, mesmo se uma exceção for lançada. Esta é uma forma mais moderna e conveniente de lidar com o gerenciamento de recursos.

🔥 O 𝘂𝘀𝗶𝗻𝗴 𝗱𝗲𝗰𝗹𝗮𝗿𝗮𝘁𝗶𝗼𝗻 é um novo recurso introduzido no C# 8 que permite declarar um objeto descartável e descartá-lo automaticamente quando ele sair do escopo. Isso é semelhante à instrução using, mas a declaração using não exige que você coloque a declaração entre um bloco de chaves. Isso torna o código mais legível e fácil de entender.

#csharp #dotnet #microsoft #tip #dica #dicaemportugues #desenvolvimento #programacao #programação #pontonet #codigolimpo

Continue Reading
Click to comment

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

.NET

Microsoft está oferecendo cursos gratuitos com certificado!

Published

on

🚨🥁 A Microsoft está oferecendo cursos GRATUITOS com certificados. Não esqueça de compartilhar e ajudar alguém 👍🏼🚀😀

(Lembre-se, é um certificado, não uma certificação)! 😀

🌐 Microsoft Azure Fundamentals

  • AZ-900
  • 24-Hour
  • Link: https://lnkd.in/d6Xnvn_a

🌐 Microsoft Azure Administrator

  • AZ-104
  • 96-Hour
  • Link: https://lnkd.in/dyYZaDqH

🌐 Developing Solutions for Microsoft Azure

  • AZ-204
  • 120-Hour
  • Course Link: https://lnkd.in/daGp_ZqN

🌐 Designing Microsoft Azure Infrastructure Solutions

  • AZ-305
  • 96-Hour
  • Link: https://lnkd.in/d3bCnx2t

🌐 Designing and Implementing Microsoft DevOps solutions

  • Course AZ-400
  • 96-Hour Course
  • Course Link: https://lnkd.in/dGej85sS

🌐 Microsoft Azure Data Fundamentals

  • Course DP-900
  • 24-Hour Course
  • Course Link: https://lnkd.in/d2t4Jz6i

🌐 Microsoft Azure Al Fundamentals

  • Course Al-900
  • 24-Hour Course
  • Course Link https://lnkd.in/d8DEgKiJ

🌐Designing and Implementing a Microsoft Azure Al Solution

  • Course Al-102
  • 96-Hour Course
  • Course Link: https://lnkd.in/d_QBZtHa

🌐 Develop Generative Al Solutions with Azure OpenAl Service

  • Course Al-050
  • 24-Hour Course
  • Course Link: https://lnkd.in/ddf28zBD

🌐 Microsoft Security, Compliance, and Identity Fundamentals

  • Course SC-900
  • 24-Hour Course
  • Course Link: https://lnkd.in/dmzUN3jS

🌐 Microsoft Security Operations Analyst

  • Course SC-200
  • 96-Hour Course
  • Course Link: https://lnkd.in/dTUt7C7P

🌐 Microsoft Cybersecurity Architect

  • Course SC-100
  • 96-Hour Course
  • Course Link: https://lnkd.in/dK5Nw2Qa

🌐 Microsoft Azure Security Technologies

  • Course AZ-500
  • 96-Hour Course
  • Course Link: https://lnkd.in/dSfKTws5

🌐 Designing and Implementing Microsoft Azure Networking Solutions

  • Course AZ-700
  • 72-Hour Course
  • Link: https://lnkd.in/dEKyyz5Y

🌐 Data Engineering on Microsoft Azure

  • Course DP-203
  • 96-Hour Course
  • Link: https://lnkd.in/damz4ewp

🌐 Designing and implementing a data science solution on Azure

  • Course DP-100
  • 96-Hour Course
  • Link: https://lnkd.in/dedSYpEN

🌐 Administering Microsoft Azure SQL Solutions

  • Course DP-300
  • 96-Hour Course
  • Link: https://lnkd.in/dREpV56r

FreeCourses #microsoft #azure #cloud #Upskill #MicrosoftAzure #ITCareer #Cybersecurity #Opportunity #CareerDevelopment #LearningResources #ShareKnowledge #free #certification #certificacao

Continue Reading

.NET

C#: Como cancelar uma tarefa demorada com cancellation tokens

No C#, as tarefas podem ser canceladas usando tokens de cancelamento. Os tokens de cancelamento são objetos que podem ser usados para sinalizar que uma tarefa deve ser cancelada.

Para cancelar uma tarefa, você pode chamar o método Cancel() do token de cancelamento. Quando o método Cancel() é chamado, a task entra em um estado de cancelamento.

As tarefas em um estado de cancelamento devem limpar quaisquer recursos que elas tenham alocado e retornar a um estado consistente.

Você pode passar tokens de cancelamento para tarefas de várias maneiras. Você pode passá-los como argumentos de método, como propriedades ou como objetos compartilhados.

O uso de tokens de cancelamento pode ajudar a garantir que as tarefas demoradas sejam encerradas adequadamente quando necessário.

Published

on

Um token de cancelamento é um objeto que permite que a colaboração interrompa operações assíncronas de longa duração. Eles são usados ​​para evitar que as operações consumam recursos indefinidamente, mesmo que eles não sejam mais necessários.

Para usar um token de cancelamento, primeiro você deve criar um objeto CancellationTokenSource. Este objeto fornece um token de cancelamento que você pode passar para a operação que deseja cancelar.

A operação que recebe o token de cancelamento pode então verificar periodicamente o status do token. Se o status for IsCancellationRequested, a operação deverá interromper seu trabalho e retornar.

A desmarcação é uma ferramenta importante para programação assíncrona. Eles podem ajudar a garantir que suas operações consumam recursos de forma eficiente e parem quando necessário.

Aqui estão alguns exemplos de como usar tokens de cancelamento:

  • Se o usuário clicar no botão Cancelar, a operação de download do arquivo será interrompida.
  • Se o limite de tempo for atingido, a operação de processamento de dados será interrompida.
  • Se a conexão for perdida, as operações de comunicação com o servidor remoto serão interrompidas.

A desmarcação é uma parte importante da programação assíncrona. Eles fornecem uma maneira segura e eficiente de interromper operações assíncronas longas.

using System;
using System.Threading;
using System.Threading.Tasks;

namespace CancellationTokenExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Cria um token de cancelamento
            var cancellationTokenSource = new CancellationTokenSource();
            var cancellationToken = cancellationTokenSource.Token;

            // Cria uma task demorada
            Task.Run(() =>
            {
                // Verifica o status do token de cancelamento periodicamente
                while (!cancellationToken.IsCancellationRequested)
                {
                    // Faz algo demorado
                    Thread.Sleep(1000);
                }

                // Se o token de cancelamento foi solicitado, sai da task
                Console.WriteLine("Cancelado!");
            });

            // Cancela a task após 3 segundos
            Thread.Sleep(3000);
            cancellationTokenSource.Cancel();

            // Aguarda a task terminar
            Task.WaitAll();

            Console.WriteLine("Pronto!");
        }
    }
}

Você deve estar se perguntando: Por que cancelar uma tarefa se ela ainda não foi concluída?

É importante cancelar uma tarefa mesmo que ela ainda não tenha sido concluída. Isso porque, caso a tarefa não seja cancelada, ela continuará consumindo recursos indefinidamente.

No exemplo anterior, a tarefa demorada era realizar algo demorado, como baixar um arquivo grande ou processar grandes quantidades de dados. Se uma tarefa não for cancelada, ela continuará consumindo CPU, memória e recursos de rede mesmo que não seja mais necessária.

Cancelar uma tarefa também pode ajudar a evitar que ela cause danos. Por exemplo, se uma tarefa estiver fazendo alterações em um banco de dados, cancelar a tarefa impedirá que as alterações sejam feitas por engano.

Em alguns casos, você pode saber se uma tarefa foi concluída com êxito antes de cancelá-la. Por exemplo, se uma tarefa estiver baixando um arquivo, você poderá verificar o tamanho do arquivo baixado para ver se ele foi concluído.

Contudo, em muitos casos é impossível saber se uma tarefa foi concluída com sucesso até que seja cancelada. Por exemplo, se a tarefa estiver processando uma grande quantidade de dados, não será possível verificar se o processamento foi concluído.

De modo geral, é melhor cancelar uma tarefa mesmo que ela ainda não tenha sido concluída.

Digamos que eu crie um método get que chame uma tarefa que dura 15 minutos. Você deseja cancelar a qualquer momento chamando um método get. Como será esse método get?

Para cancelar uma tarefa a qualquer momento, você pode passar um token de cancelamento para o método get. O método get pode então verificar periodicamente o status do token de cancelamento. O método get pode cancelar a tarefa se um token de cancelamento for solicitado.

Aqui está um exemplo de como cancelar uma tarefa a qualquer momento e chamá-la usando um botão:

// Cria um token de cancelamento
var cancellationTokenSource = new CancellationTokenSource();
var cancellationToken = cancellationTokenSource.Token;

// Cria uma task demorada
Task.Run(() =>
{
    // Verifica o status do token de cancelamento periodicamente
    while (!cancellationToken.IsCancellationRequested)
    {
        // Faz algo demorado
        Thread.Sleep(1000);
    }

    // Se o token de cancelamento foi solicitado, sai da task
    Console.WriteLine("Cancelado!");
});

// Invoca o método get
Task.Run(() =>
{
    // Passa o token de cancelamento para o método get
    GetAsync(cancellationToken);
});

// Aguarda a task terminar
Task.WaitAll();

// Cancela a task
Button.Click += (sender, e) =>
{
    cancellationTokenSource.Cancel();
};

// Método get que recebe o token de cancelamento
static async Task GetAsync(CancellationToken cancellationToken)
{
    // Verifica o status do token de cancelamento periodicamente
    while (!cancellationToken.IsCancellationRequested)
    {
        // Faz algo demorado
        Thread.Sleep(1000);
    }

    // Se o token de cancelamento foi solicitado, sai da task
    Console.WriteLine("Cancelado!");
}

Neste exemplo, criamos um token de cancelamento e passamos o token para o método get. O método get verifica periodicamente o status do token de cancelamento. Se um token de cancelamento for solicitado, o método get será encerrado.

Para cancelar uma tarefa, você chama o método Cancel() do token de cancelamento.

Aqui está um exemplo de como cancelar uma tarefa:

// Cancela a task
cancellationTokenSource.Cancel();

Ao executar este código, teremos a saída:

...
Cancelado!
Pronto!
Continue Reading

Boas Práticas

Dica – Iniciar um webapp em modo anônimo a partir do Visual Studio

Published

on

📢 DICA 📢

Fala dev,
Muitas vezes você está trabalhando e precisa lançar (iniciar) seu web app em modo anônimo.

Com essa maneira você inicia em modo anônimo diretamente do visual studio e garante 100% o reset das configurações.

#dica#programação#visualstudio#codeinsider#modoanonimo#microsoft#vs#csharp#dev#development#tip

Continue Reading

Trending

Copyright © 2023 CodeInsider.com.br - criado por Dallm IT