sql >> Database >  >> NoSQL >> MongoDB

'IdentityContext' kon niet worden gevonden (mis je een gebruiksrichtlijn of een assembly-referentie)

Ik heb persoonlijk hetzelfde voorbeeld gebruikt voor mijn Asp.net Identity-implementatie via Mongodb en de reden dat je die klasse mist, is omdat het voorbeeld behoorlijk oud is en de identiteitsextensie voor mongodb waarvan het afhankelijk is hier en het is al gevorderd tot bijgewerkte versies.

Ik kan niet meegaan met de volledige beschrijving hier over hoe ik het heb gebruikt, maar ik kan je zeker verwijzen naar mijn open source-project hier waar ik heb geleerd van het voorbeeld dat je noemde. Ik hoop dat het uw probleem bij het implementeren van Asp.net Identity met Mongodb zou oplossen.

Bijwerken

  1. Als je exact dezelfde oplossing wilt hebben die Attila Hajdrik schreef in de git repo, zorg er dan voor dat je exact dezelfde pakketversie hebt die de AspNet.Identity.MongoDB heeft gedefinieerd hier . Omdat de bibliotheek zelf nu zelf is geüpgraded en ik neem aan dat je ofwel alle nuget-pakketten hebt bijgewerkt of de hele oplossing opnieuw hebt gemaakt die in de github-repo is geschreven volgens jouw behoefte. In beide gevallen kunt u eindigen met een versie van AspNet.Identity.MongoDB die u niet wilt gebruiken. Dit zou de kortste en gemakkelijkste oplossing voor uw behoefte moeten zijn.

  2. Nu op mijn hierboven genoemde oplossing van mijn github-repo. Ik gebruikte mijn eigen IAccountContext en ik gebruikte UserManager<User> als mijn basis AccountManager en UserStore<User> als mijn onderliggende winkel voor de manager. Hier User class is de identiteitsklasse die ik gebruik en die is afgeleid van IdentityUser .

Technisch gezien kun je eenvoudig je eigen context bouwen en hoef je niet volledig op het gegeven voorbeeld te vertrouwen.

Mijn voorbeeld AccountContext zou zijn:

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
}

Hier, AccountManager is een UserManager<T> afgeleide en er is een IUserStore<User> . voor nodig in zijn constructor. Het geeft u praktisch meer vrijheid over hoe u uw identiteitslaag wilt ontwerpen. :)

Ik hoop dat dit helpt.



  1. Een lijst krijgen van unieke ingesloten/geneste objecten in een MongoDB-document

  2. MongoDB Bulk Insert Dupliceren negeren

  3. MongoDB Journaling:wordt het journaalbestand gebruikt wanneer de klant een niet-journaal schrijven aanvraagt ​​en journaling is geactiveerd op Mongod

  4. Sorteren met MongoEngine?