using Microsoft.Extensions.DependencyInjection;
public interface IMessageService
void SendMessage(string message);
public class EmailService : IMessageService
public void SendMessage(string message)
Console.WriteLine("Email gönderildi: " + message);
static void Main(string[] args)
var serviceCollection = new ServiceCollection();
serviceCollection.AddScoped<IMessageService, EmailService>();
var serviceProvider = serviceCollection.BuildServiceProvider();
using (var scope1 = serviceProvider.CreateScope())
var messageService1 = scope1.ServiceProvider.GetService<IMessageService>();
var messageService2 = scope1.ServiceProvider.GetService<IMessageService>();
messageService1.SendMessage("Merhaba, bu bir test mesajıdır.");
messageService2.SendMessage("Diğer bir test mesajı.");
using (var scope2 = serviceProvider.CreateScope())
var messageService3 = scope2.ServiceProvider.GetService<IMessageService>();