public HomeController(ILogger <HomeController> logger,
                       ISingletonGuidGenerator singletonGuidGenerator,
                       IScopedGuidGenerator scopedGuidGenerator,
                       ITransientGuidGenerator transientGuidGenerator)
 {
     _logger = logger;
     _singletonGuidGenerator = singletonGuidGenerator;
     _scopedGuidGenerator    = scopedGuidGenerator;
     _transientGuidGenerator = transientGuidGenerator;
 }
        public IActionResult Index(
            [FromServices] ISingletonGuidGenerator singletonGuidGenerator,
            [FromServices] IScopedGuidGenerator scopedGuidGenerator,
            [FromServices] ITransientGuidGenerator transientGuidGenerator, [FromServices] IEnumerable <IGuidRule> guidRules)
        {
            IndexViewModel indexViewModel = new IndexViewModel();

            //Singleton Constractor  ve action  injection için üretilen guid Idler ekleniyor;
            indexViewModel.Singleton.Constructor = _singletonGuidGenerator.Guid;
            indexViewModel.Singleton.Action      = singletonGuidGenerator.Guid;
            //Transient Constractor  ve action  injection için üretilen guid Idler ekleniyor;
            indexViewModel.Transient.Constructor = _transientGuidGenerator.Guid;
            indexViewModel.Transient.Action      = transientGuidGenerator.Guid;
            //Scoped Constractor  ve action  injection için üretilen guid Idler ekleniyor;
            indexViewModel.Scoped.Constructor = _scopedGuidGenerator.Guid;
            indexViewModel.Scoped.Action      = scopedGuidGenerator.Guid;
            foreach (var guidRule in guidRules)
            {
                guidRule.Check(indexViewModel);
            }

            return(View(indexViewModel));
        }