Wie kann ich Debuggen eine "Standard-Mitgliedschaft Provider konnte nicht gefunden werden" Fehlermeldung mit WCF und eine Benutzerdefinierte ASP.NET die Mitgliedschaft Anbieter?
Ist dieses problem für mich mit .Net 3.5 SP1 auf IIS7.5, 64 bit (ich habe versucht, zwingen die 32-bit-bekam aber das gleiche Ergebnis).
Habe ich einen WCF-Dienst, den ich verwenden wollte authentication-services mit. Wenn ich nicht das Verhalten der WCF-service die Farben (die Antworten) ohne Fehler. Andere Dienste arbeiten auch mit anderen Verhaltensweisen
Sobald ich hinzufügen userNameAuthentication auf das Verhalten angeben eines benutzerdefinierten Mitgliedschaftsanbieter für die Authentifizierung an einem Dienst ...
<serviceCredentials>
<!-- Configure user name authentication to use the Membership Provider -->
<userNameAuthentication userNamePasswordValidationMode ="MembershipProvider"
membershipProviderName ="MembershipService"/>
</serviceCredentials>
Den service, bläst und gibt die folgende Fehlermeldung zurück:
Parser Error Message: Default Membership Provider could not be found.
Source Error:
Line 49: </authentication>
Line 50:
Line 51: <membership defaultProvider="MembershipService" userIsOnlineTimeWindow="15">
Line 52: <providers>
Line 53: <clear/>
Event Log dieser Fehler:
WebHost failed to process a request.
Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/59884855
Exception: System.ServiceModel.ServiceActivationException: The service '/V4Service.svc' cannot be activated due to an exception during compilation. The exception message is: Default Membership Provider could not be found. (C:\Code\SmartTrade Projects\SmartTrade.API\Web\SmartTrade.API\web.config line 50). ---> System.Configuration.ConfigurationErrorsException: Default Membership Provider could not be found. (C:\Code\SmartTrade Projects\SmartTrade.API\Web\SmartTrade.API\web.config line 50)
at System.Web.Security.Membership.Initialize()
at System.Web.Security.Membership.get_Providers()
at System.ServiceModel.Configuration.UserNameServiceElement.ApplyConfiguration(UserNamePasswordServiceCredential userName)
at System.ServiceModel.Configuration.ServiceCredentialsElement.ApplyConfiguration(ServiceCredentials behavior)
at System.ServiceModel.Configuration.ServiceCredentialsElement.CreateBehavior()
at System.ServiceModel.Description.ConfigLoader.LoadBehaviors[T](ServiceModelExtensionCollectionElement`1 behaviorElement, KeyedByTypeCollection`1 behaviors, Boolean commonBehaviors)
at System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase host, ServiceDescription description, ServiceElement serviceElement, Action`1 addBaseAddress)
at System.ServiceModel.ServiceHostBase.ApplyConfiguration()
at System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses)
at System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses)
at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(Type serviceType, Uri[] baseAddresses)
at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
Ich bin mir ziemlich sicher, dass das nicht ein Problem mit dem provider oder provider-config, so wie ich es Brauch provider arbeiten mit einer ASP-MVC-Website.
Irgendwelche Gedanken?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Begann ich eine neue Custom Provider-Implementierung von Grund sicherstellen, dass alle die überschreibungen waren richtig zurückgegeben. Mein original, die ich dachte, war arbeiten (das war vor ein paar Monaten) und es stellt sich heraus, dass es nicht mehr funktionierte.
Es stellt sich heraus, wenn Sie den Namen des Anbieters zu korrigieren und die Art korrekt in die Konfiguration, nur die Blätter Ihrer Benutzerdefinierten Provider-Implementierung.
Also, wenn Sie dieses Problem haben, und Sie sind sicher, dass deine config korrekt ist, überprüfen Sie Ihre Implementierung mit einer einfachen ASP.net oder ASP.net MVC-website.
Bekam ich diese Fehlermeldung und schließlich entdeckt, dass versteckte UTF8 oder Unicode-Zeichen gefunden hatte, Ihren Weg in mein web.config-Datei. Ich hatte zu löschen Abschnitte, um herauszufinden, dass die Anwendung Streicher beschädigt war.
Einmal ersetzte ich es aus einer älteren version, funktionierte es wieder. Einige der Saiten hatte extra Leerzeichen in Ihnen, das war verdächtig, ich bin mir nicht sicher, ob es hätte von Ausschneiden und einfügen oder was. Sie können versuchen, auf der Suche auf Ihrer Webseite.config-Datei mit einem hex-editor zu.
Ich hatte das gleiche problem, und verbrachte fast eine Woche, es herauszufinden. Mein problem war, dass ich hatte, um die Name-Eigenschaft überschreiben, um den gleichen Wert in der web.config ist provider-Namen. Ich hasse es, wenn die einfachsten Lösungen sind so schwer zu finden!