Здравствуйте, SergASh, Вы писали:
Не видя полного текста сказать сложно, но пока я вообще не вижу смысла во всех методах.
using (IContext context = BuildContext()) ... в клиентском коде и понеслась.
Если надо гарантированно очистить сontext(), то достаточно
public static async Task<T> ExecuteInContextAsync<T>(Func<IContext, Task<T>> action)
{
using (IContext context = BuildContext())
{
return await action(context);
}
}
public static async Task ExecuteInContextAsync<T>(Func<IContext, Task> action)
{
using (IContext context = BuildContext())
{
await action(context);
}
}