Привет, ребята, я новичок в разработке программного обеспечения, я до сих пор не знаю, когда его использовать, в чем смысл срока службы! Это может показаться глупым, но, пожалуйста, помогите мне, у меня есть интерфейс:
public interface IAccessInfo
{
public IEnumerable<AccessInfo> getResult();
}
он должен возвращать мне информацию о моих Турбинах; вот его реализация:
public class AcessInfoData:IAccessInfo
{
private DbContextClass db;
public AcessInfoData(DbContextClass context)
{
db = context;
}
public IEnumerable<AccessInfo> getResult()
{
var turbines = (from c in db.accessinf
where s.user_id == "i0004912"
select new AccessInfo
{
InfoType = c.type,
TurbineId = c.m_plc_id.ToString(),
TurbineIP = c.turbine_ip.ToString(),
TurbineIdSorting = c.turbine_id,
Blade = c.blade,
Certification = c.certification,
}).Distinct();
return turbines;
}
}
он получает экземпляр моей БД и данные; и в моем контроллере Я использую его так:
public class AcessInfoController : ControllerBase
{
private IAccessInfo _acess;
public AcessInfoController(IAccessInfo access)
{
_acess = access;
}
[HttpGet]
public IActionResult Index()
{
var rsult = _acess.getResult();
return Ok( rsult);
}
}
теперь в Startup я зарегистрировал его:
services.AddScoped<IAccessInfo, AcessInfoData>();
он работает, но если вы sk
мне, почему я использую Scoped, а не Singleton или временный, я понятия не имею, почему на самом деле кто-нибудь может мне это разъяснить?