|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using System;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
namespace CreateDefaultBuilderApp;
public class Program
{
static void Main(string[] args)
{
WebHost.CreateDefaultBuilder()
.UseUrls("http://127.0.0.1:0")
.ConfigureServices((context, services) =>
{
services.AddSingleton(typeof(IService<>), typeof(Service<>));
services.AddScoped<IAnotherService, AnotherService>();
})
.Configure(app =>
{
app.Run(context =>
{
try
{
context.RequestServices.GetService<IService<IAnotherService>>();
return context.Response.WriteAsync("Success");
}
catch (Exception ex)
{
return context.Response.WriteAsync(ex.ToString());
}
});
})
.Build().Run();
}
interface IService<T>
{
}
interface IAnotherService
{
}
class Service<T> : IService<T>
{
public Service(T t)
{
}
}
class AnotherService : IAnotherService
{
}
}
|