Our Blog

Latest News

Menambahkan Fitur Command Line Pada Project ASP.NET Core

Digimensia.com – Halo semuanya! Selamat datang di Ruang Developer Blog. Setelah Mantap membahas tentang AI pada postingan sebelumnya, kali ini kita coba Buat pindah ke topik yang berbeda. Kita akan membahas bagaimana Langkah menambahkan fitur command line pada project ASP.NET Core.

Basa-basi

Tahukah Anda? ASP.NET Core adalah salah satu framework Terkenal yang dikembangkan oleh Microsoft Buat membangun aplikasi berbasis web. Apakah Anda pernah menggunakan framework ini? Apabila ya, mungkin Anda pernah mengalami kesulitan Buat menjalankan sebuah perintah melalui terminal Buat melakukan aksi tertentu di aplikasi Anda. Salah satu aksi yang biasanya Mau dilakukan adalah berinteraksi dengan database, seperti mengisi data (seeding), menghapus atau merubah suatu data tertentu. Masalahanya adalah ASP.NET Core Kagak Mempunyai fitur Buat menjalankan perintah spesifik yang kita buat Tertentu Buat aplikasi kita. Buat mengatasi hal itu, saya mencoba Buat Membikin NugGet Package yang akan memungkinkan Anda Buat Membikin perintah terminal spesifik sesuai kebutuhan aplikasi Anda. Yuk, lanjut….

READ:  Sepenting Itukah Google PageSpeed Insights Buat Website?

Bagaimana Caranya?

Mudah sekali Ges! Yuk, ikuti langkah-langkah berikut!

Install

Pertama, kita perlu install packagenya terlebih dahulu dengan menjalankan perintah berikut:

dotnet add package RuangDeveloper.AspNetCore.Command --version 1.0.1

Note: Demi tulisan ini dibuat, versi terbaru yang tersedia adalah 1.0.1

Buat Command Class

Pada project Anda, cobalah Buat Membikin folder bernama “Commands” kemudian buat sebuah file di dalamnya berisi class yang mengimplementasikan interface ICommand. Contohmya seperti berikut:

using System;
using System.Threading.Tasks;
using RuangDeveloper.AspNetCore.Command;

public class SayHello : ICommand
{
    public string Name => "hello";
    public string Description => "Say hello command";

    public async Task ExecuteAsync(string[] args)
    {
        // Misalnya Eksis proses yang Panjang (query ke database)
        await Task.Delay(1000);

        Console.WriteLine("Hello, world! (Async)");
    }

    public void Execute(string[] args)
    {
        Console.WriteLine("Hello, world! (Sync)");
    }
}

Pada Contoh di atas, kita Membikin sebuah class berama SayHello yang berisi atribut Name dan Description serta method ExecuteAsync dan Execute.

  • Atribut Name digunakan Buat mengidentifikasi command yang akan kita jalankan di terminal.
  • Atribut Description menjelaskan apa fungsi dari command tersebut. (Demi tulisan ini dibuat, atribute ini Kagak dijelaskan pada dokumentasi project ini karena kelalaian :D, akan diperbaiki pada rilis berikutnya).
  • Method ExecuteAsync digunakan Buat menjalankan perintah perintah yang bersifat asynchronous.
  • Method Execute digunakan Buat menjalankan perintah yang bersifat synchronous.
READ:  06 May: App Development: Pengertian, & Tujuan

Penggunaan ExecuteAsync dan Execute adalah opsional. Anda Kagak perlu menggunakan keduanya. Apabila Anda menggunakan method ExecuteAsync, Anda Dapat mengosongkan method Execute, begitu pun sebaliknya.

Registrasikan Command Class

Setelah Membikin command, kita perlu meregistrasikan package dan command yang kita buat ke dalam service collection aplikasi kita. Silahkan buka file Program.cs dan tambahkan kode berikut.

builder.Services.AddCommands(configure =>
{
    configure.AddCommand<SayHello>();
});

Modifikasi Langkah Aplikasi Dijalankan

Secara default, pada file Program.cs aplikasi kita biasanya dijalankan dengan method .Run(). Agar Dapat menjalankan command yang kita buat, kita perlu menggantinya dengan method .RunWithCommands(). Contohnya seperti berikut:

// Ganti app.Run(); menjadi
app.RunWithCommands(args);

Menjalankan Command Class

Kit Dapat menjalankan command class yang kita buat dengan perintah seperti berikut:

dotnet run command --command hello

Option --command digunakan Buat menentukan command apa yang akan kita jalankan, dalam hal ini adalah command class kita yang Mempunyai atribut Name bernilai “hello”.

READ:  Langkah Reset Password WordPress di cPanel dengan Mudah

Berikut hasilnya:

Hasilnya

Surat keterangan

Anda Dapat lihat dokumentasi Formal Buat package RuangDeveloper.AspNetCore.Command melalui link berikut:
https://www.nuget.org/packages/RuangDeveloper.AspNetCore.Command/

Membikin Queue Job Nestjs Menggunakan Bull
5 Metode Meningkatkan Pengunjung Web Terbukti Terjamin dari Penalty Google