Pour appeler cette méthode, la propriété «Membership.Provider» doit être une instance de «ExtendedMembershipProvider»

Actuellement, chaque fois que j’essaie d’enregistrer un utilisateur ou de me connecter en utilisant les services d’appartenance par défaut intégrés à ASP.Net MVC4 sur mon fournisseur hôte DiscountASP, je reçois l’erreur

Pour appeler cette méthode, la propriété “Membership.Provider” doit être une instance de “ExtendedMembershipProvider”.

Cela ne se produit pas localement.

Voici mon InitializeSimpleMembershipAtsortingbute.cs :

 [AtsortingbuteUsage(AtsortingbuteTargets.Class | AtsortingbuteTargets.Method, AllowMultiple = false, Inherited = true)] public sealed class InitializeSimpleMembershipAtsortingbute : ActionFilterAtsortingbute { private static SimpleMembershipInitializer _initializer; private static object _initializerLock = new object(); private static bool _isInitialized; public override void OnActionExecuting(ActionExecutingContext filterContext) { // Ensure ASP.NET Simple Membership is initialized only once per app start LazyInitializer.EnsureInitialized(ref _initializer, ref _isInitialized, ref _initializerLock); } private abstract class SimpleMembershipInitializer { protected SimpleMembershipInitializer() { Database.SetInitializer(null); try { using (var context = new UsersContext()) { if (!context.Database.Exists()) { // Create the SimpleMembership database without Entity Framework migration schema ((IObjectContextAdapter)context).ObjectContext.CreateDatabase(); } } WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); } catch (Exception ex) { throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex); } } } } 

Voici une capture d’écran complète de l’erreur:

Est-ce que quelqu’un sait comment je peux résoudre ce problème ou connaître un article qui le traite?

Essayez de configurer la suite dans votre web.config dans le noeud :

                   

On dirait que SimpleMembership n’est pas reconnu lorsque vous l’utilisez.

En outre, cela peut valoir la peine d’inclure, la bibliothèque WebMasortingx.webData peut être installée via NuGet:

 PM> Install-Package Microsoft.AspNet.WebPages.WebData 

Essayez de changer la fonction de connexion sous AccountController.cs

  // // POST: /Account/Login [AllowAnonymous] [HttpPost] public ActionResult Login(LoginModel model, ssortingng returnUrl) { if (ModelState.IsValid) { if (Membership.ValidateUser(model.UserName, model.Password)) { FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); if (Url.IsLocalUrl(returnUrl)) { return Redirect(returnUrl); } else { return RedirectToAction("Index", "Home"); } } else { ModelState.AddModelError("", "The user name or password provided is incorrect."); } } // If we got this far, something failed, redisplay form return View(model); } 

A fait les étapes ci-dessus mais cela n’a pas aidé. Qu’est-ce qui a aidé à changer web.config:

          

J’ai eu la même erreur, mais c’était 100% de références pour moi. J’ai eu du mal à faire fonctionner WebMasortingx.WebSecurity plusieurs fois … à chaque fois parce que je n’ai pas créé le projet en utilisant le modèle Internet de MVC 4.

La clé est que les références et la configuration fonctionnent par défaut dans le modèle, alors recréez simplement votre projet et ça ira.

Mon correctif est le suivant: 1. Sauvegardez mon projet dans un autre dossier. 2. Extrayez tous les fichiers 3. Créez un nouveau projet Internet MVC 4, sous le même nom. 4. Copier + Coller (remplacer) le projet d’origine. 5. Ajoutez les références manquantes, les itinéraires modifiés, les parameters .config / les connexions DB.