mirror of
https://github.com/AlexMacocian/WpfExtended.git
synced 2026-07-21 01:19:29 +00:00
544ec77667
* Integrate with Microsoft.Extensions.DependencyInjection * Setup CODEOWNERS
66 lines
2.0 KiB
C#
66 lines
2.0 KiB
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Http.Logging;
|
|
using Microsoft.Extensions.Logging;
|
|
using Slim;
|
|
using Slim.Integration.ServiceCollection;
|
|
using System;
|
|
using System.Extensions;
|
|
using System.Http;
|
|
using System.Logging;
|
|
using System.Net.Http;
|
|
using System.Windows.Extensions;
|
|
using WpfExtended.Test;
|
|
using WpfExtended.Tests.Services;
|
|
|
|
namespace WpfExtended.Tests
|
|
{
|
|
public class Launcher : ExtendedApplication<MainWindow>
|
|
{
|
|
private static Launcher Instance { get; } = new Launcher();
|
|
|
|
[STAThread]
|
|
public static void Main()
|
|
{
|
|
Instance.Run();
|
|
}
|
|
|
|
protected override System.IServiceProvider SetupServiceProvider(IServiceCollection services)
|
|
{
|
|
var serviceManager = new ServiceManager();
|
|
serviceManager.RegisterResolver(new LoggerResolver());
|
|
serviceManager.RegisterDebugLoggerFactory();
|
|
serviceManager.RegisterResolver(
|
|
new HttpClientResolver()
|
|
.WithHttpMessageHandlerFactory((serviceProvider, categoryType) =>
|
|
{
|
|
var loggerType = typeof(ILogger<>).MakeGenericType(categoryType);
|
|
var logger = serviceProvider.GetService(loggerType).As<ILogger>();
|
|
var handler = new LoggingHttpMessageHandler(logger) { InnerHandler = new HttpClientHandler() };
|
|
return handler;
|
|
}));
|
|
serviceManager.RegisterOptionsManager();
|
|
|
|
var provider = services.BuildSlimServiceProvider(serviceManager);
|
|
return provider;
|
|
}
|
|
|
|
protected override void ApplicationClosing()
|
|
{
|
|
}
|
|
|
|
protected override void ApplicationStarting()
|
|
{
|
|
}
|
|
|
|
protected override bool HandleException(Exception e)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
protected override void RegisterServices(IServiceCollection services)
|
|
{
|
|
services.AddSingleton<IDummyService, DummyService>();
|
|
}
|
|
}
|
|
}
|