using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace Femto.Common;
///
/// We use this to bind a scope to the request scope in the composition root
/// Any scoped services provided by this subcontainer should be accessed via a ScopeBinding injected in the host
///
///
public class ScopeBinding(IServiceScope scope) : IDisposable
where T : notnull
{
public T GetService() {
return scope.ServiceProvider.GetRequiredService();
}
public void Dispose() {
scope.Dispose();
}
}