Unify some dependency injection in a common library

This commit is contained in:
Jeff Leung 2021-12-30 23:57:00 -08:00
parent 6a9623d336
commit 8f029a8a34
3 changed files with 28 additions and 4 deletions

View File

@ -0,0 +1,24 @@
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TwilioSMSReceiver.Common.Handlers;
using TwilioSMSReceiver.Common.Interfaces;
namespace TwilioSMSReceiver.Common.Registrations
{
public static class RegisterDI
{
/// <summary>
/// This registers all dependencies needed to support this app
/// </summary>
/// <param name="provider"></param>
public static void RegisterSMSExtensions(this IServiceCollection provider)
{
provider.AddScoped<IMessageHandler, SMTPHandler>();
provider.AddScoped<IMessageHandler, MSTeamsHandler>();
}
}
}

View File

@ -2,6 +2,7 @@ using Microsoft.EntityFrameworkCore;
using TwilioSMSReceiver;
using TwilioSMSReceiver.Common.Handlers;
using TwilioSMSReceiver.Common.Interfaces;
using TwilioSMSReceiver.Common.Registrations;
using TwilioSMSReceiver.Data;
var builder = WebApplication.CreateBuilder(args);
@ -14,10 +15,9 @@ builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddDbContext<SMSDbCtx>(options => {
options.UseSqlite(builder.Configuration.GetConnectionString("SmsDBCtx"));
options.UseSqlServer(builder.Configuration.GetConnectionString("SmsDBCtx"));
});
builder.Services.AddScoped<IMessageHandler, MSTeamsHandler>();
builder.Services.AddScoped<IMessageHandler, SMTPHandler>();
builder.Services.RegisterSMSExtensions();
builder.Services.AddLogging();
//builder.Services.AddSingleton<IMessageHandler>();
var app = builder.Build();

View File

@ -6,7 +6,7 @@
}
},
"ConnectionStrings": {
"SmsDbCtx": "Data Source=smsdbctx.sqlite"
"SmsDbCtx": "Server=(localdb)\\mssqllocaldb;Database=SMSDB;Trusted_Connection=True;"
},
"AllowedHosts": "*"
}