نمایش نتایج 1 تا 2 از 2

نام تاپیک: Unable to resolve service for type while attempting to activate

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    شیراز
    پست
    49

    Unable to resolve service for type while attempting to activate

    یک پروژه NET Core MVC Web Api ایجاد کردم و از Dependency injection , Repository pattern استفاده کردم برای inject کردن repository به کنترلر ولی خطای زیر رو میگیرم

    232323.jpg

    نمونه کد هایی که استفاده کردم :
    Startup.cs


    public void ConfigureServices(IServiceCollection services)
    {
    services.AddControllers();

    services.AddScoped<IUnitOfWork, DatabaseContext>();
    //....
    }

    public IServiceProvider ConfigureIoC(IServiceCollection services)
    {
    var container = new Container();

    container.Configure(config =>
    {
    config.AddRegistry(new DefaultRegistry());

    config.Populate(services);
    });

    return container.GetInstance<IServiceProvider>();
    }


    Class DefaultRegistry


    public DefaultRegistry()
    {
    For<ICategoryRepository>().LifecycleIs(Lifecycles. Container).Use<CategoryRepository>();

    For<IUnitOfWork>().LifecycleIs(Lifecycles.Containe r).Use<DatabaseContext>();
    }


    CategoryRepository


    public interface ICategoryRepository : IGenericRepository<Category>
    {
    List<Category> GetAll();
    Category Insert(Category model);
    }

    public class CategoryRepository : GenericRepository<Category>, ICategoryRepository
    {
    IUnitOfWork _uow;
    Lazy<DbSet<Category>> _categories;
    public CategoryRepository(IUnitOfWork uow) : base(uow)
    {
    _uow = uow;
    _categories = new Lazy<DbSet<Category>>(() => _uow.Set<Category>());
    }

    //....
    }





    BaseApiController


    public class BaseApiController : Controller
    {
    public IUnitOfWork _uow { get; set; }

    public BaseApiController(IUnitOfWork uow)
    {
    _uow = uow;
    }
    }

    CategoryController


    public class CategoryController : BaseApiController
    {
    Lazy<ICategoryRepository> _categoryRepository;

    public CategoryController(IUnitOfWork uow, Lazy<ICategoryRepository> CategoryRepository) : base(uow)
    {
    _categoryRepository = CategoryRepository;
    }

    [HttpGet, Route("getall")]
    public ActionResult GetGategories()
    {
    List<Category> lst = _categoryRepository.Value.GetAll();

    GetCategoriesResponse Response = new GetCategoriesResponse();
    Response.Categories = lst;
    Response.Result = ResponseEnum.OK;
    return Ok(Response);
    }
    }



  2. #2
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: Unable to resolve service for type while attempting to activate

    لطفا جهت بررسی بهتر، یک پروژه نمونه بسازید و بصورت ضمیمه یا ... در دسترس قرار دهید. با مرور کدهایی که گذاشته اید چیز خاصی به نظر نمیاد.

تاپیک های مشابه

  1. پاسخ: 4
    آخرین پست: چهارشنبه 18 تیر 1393, 14:17 عصر
  2. خطای Unable to create a constant value of type در LINQ
    نوشته شده توسط Cybersilent در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 5
    آخرین پست: سه شنبه 21 خرداد 1392, 23:33 عصر
  3. خطا Unable to create a constant value of type 'Anonymous type'. Only primitive types ('such as Int32
    نوشته شده توسط spicirmkh در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: چهارشنبه 07 تیر 1391, 17:55 عصر
  4. سوال: برخورد با ارور Unable to cast object of type 'System.String' to type 'System.Data.DataRowView'
    نوشته شده توسط adineh67 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: یک شنبه 06 آذر 1390, 12:30 عصر
  5. پاسخ: 5
    آخرین پست: جمعه 21 تیر 1387, 22:55 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •