5

W aplikacji sieci web ASP.NET Mam zdefiniowane następujące dostawcę członkostwa w pliku web.config:requiresQuestionAndAnswer ustawiona na false w pliku web.config ale RequiresQuestionAndAnswer prawda w czasie wykonywania

<membership> 
    <providers> 
    <add connectionStringName="MyServer" name="MyServer" type="System.Web.Security.SqlMembershipProvider" 
     enablePasswordReset="true" 
     requiresQuestionAndAnswer="false" 
     enablePasswordRetrieval="false" /> 
    </providers> 
</membership> 

Kiedy uruchomić aplikację w debugger, właściwość Membership.Provider.RequiresQuestionAndAnswer jest true.

Dlaczego? I jak mogę to naprawić?

Aktualizacja: Ar tuntime, kolekcja Membership.Providers zawiera dwa wystąpienia dostawcy, które są prawie identyczne. Różnice są:

  • Pierwszy dostawca ma Nazwa == "AspNetSqlMembershipProvider" i RequiresQuestionAndAnswer == true
  • Drugi dostawca ma Nazwa == "myserver" i RequiresQuestionAndAnswer == false.

Teraz próbuje dowiedzieć się, skąd pochodzi pierwszy.

+2

Czy nazwa dostawcy w debugerze jest zgodna z nazwą dostawcy ("MyServer")? –

+0

@MeidanAlon nazwa dostawcy w debugerze wydaje się być "AspNetSqlMembershipProvider". W tym samym czasie pokazuje poprawny ciąg połączenia SQL, więc wygląda na prawidłowy. – urig

+0

To dziwne, powinienem spróbować dodać defaultProvider = "MyServer" wewnątrz członkostwa i do

Odpowiedz

3

Per obserwacji po pytaniu dostawcy tajemnicą jest zdefiniowana w pliku konfiguracyjnym niższym poziomie, o nazwie maszynę .config, czyli plik konfiguracyjny nadrzędny dla całego serwera dla wszystkich stron asp.net działających na komputerze. Zobacz więcej szczegółów na stronie MSDN page for asp.net config hierarchy.

0

Poprawkę dotyczącą mojego problemu jest określenie w pliku web.config:

<membership defaultProvider="MyServer> 

Powodem Tam jest „ekstra” Dostawcy w czasie wykonywania jest to, że zdefiniowana w moim machine.config pliku. Here's how to find yours.

Kredyt na poprawki idzie @ Meidan-Alon i kredyt dla korzeni przyczyny idzie @ ken-egozi :)

Powiązane problemy