MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

„IdentityContext“ не може да бъде намерен (липсва ли ви директива за използване или препратка към асемблиране)

Аз лично използвах същия пример за моето внедряване на Asp.net Identity над Mongodb и причината да пропускате този клас е поради факта, че извадката е доста стара и разширението на Identity за mongodb, от което зависи, е тук и вече е достигнал до актуализирани версии.

Не мога да продължа с пълното описание тук за това как го използвах, но със сигурност мога да ви насоча към моя проект с отворен код тук където научих от примера, който споменахте. Надявам се, че ще реши проблема ви с внедряването на Asp.net Identity с Mongodb.

Актуализация

  1. Ако искате да имате точно същото решение, което Attila Hajdrik е написал в git repo, моля, уверете се, че имате точно същата версия на пакета, дефинирана от AspNet.Identity.MongoDB тук . Тъй като самата библиотека вече е надстроена сама по себе си и предполагам, че сте актуализирали всички пакети nuget или сте пресъздали цялото решение, написано в репото на github според вашите нужди. И в двата случая може да се окажете с версия на AspNet.Identity.MongoDB, която не искате да използвате. Това трябва да е най-краткото и най-лесното решение за вашите нужди.

  2. Сега относно моето решение, споменато по-горе, от моето репо в github. Използвах собствен IAccountContext и използвах UserManager<User> като моя базов AccountManager и UserStore<User> като мой основен магазин за мениджъра. Тук User клас е класът за самоличност, който използвам и който е извлечен от IdentityUser .

Технически можете лесно да изградите свой собствен контекст и наистина не е нужно да разчитате изцяло на дадения пример.

Моят примерен AccountContext би бил:

public class AccountContext : IAccountContext
{        
    private readonly IDbContext dbContext;
    private readonly AccountManager accountManager;

    public AccountContext(
        IDbContext dbContext,         
        AccountManager accoutnManager)
    {
        this.dbContext = dbContext;
        this.accountManager = accoutnManager;        
    }
// Your own stuff here
}

Тук, AccountManager е UserManager<T> производно и отнема IUserStore<User> в неговия конструктор. На практика ви дава повече свобода за това как искате да проектирате своя слой за идентичност. :)

Надявам се това да помогне.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Агрегирана заявка на MongoDB, използваща драйвер за PHP

  2. Използвайте $gte и <e оператор mongo, ако датата е в низов формат в mongodb

  3. PHP Mongo Грешка при четене от сокет

  4. Запитването на Mongo отнема много време. Как да стане по-бързо?

  5. Concat int и полета за низов масив, които са в различни масиви