2016-06-24 20 views
0

Ich möchte noch einmal fragen. Wie kann ich dieses Problem lösenAusnahme zum Ändern des Passworts in ASP.NET

Eror Picture

immer Fehler finden, und ich werde nicht aufhören. Ich muss versuchen mit Hilfe von euch Jungs. , nachdem Sie meine Fehler suchen, dies ist mein Code:

using System; 
 
using System.Web; 
 
using System.DirectoryServices; 
 
using System.DirectoryServices.AccountManagement; 
 
using System.Web.SessionState; 
 

 
namespace FormsAuthAd 
 
{ 
 
    public class ChangePasswordPSI 
 
    { 
 
     public bool ChangePass(HttpSessionState Session, string OldPassword, string NewUPassword) 
 
     { 
 
      string Domain = Session["domain"].ToString(); 
 
      string Username = Session["username"].ToString(); 
 
      
 
      try 
 
      { 
 
       string ldapPath = "LDAP://MyDomain.com"; 
 
       DirectoryEntry user = new DirectoryEntry(ldapPath, Domain + "\\" + Username, OldPassword); 
 

 
       if (user != null) 
 
       { 
 
        DirectorySearcher search = new DirectorySearcher(user); 
 
        search.Filter = "(SAMAccountName=" + Username + ")"; 
 
        search.PropertiesToLoad.Add("cn"); 
 
        SearchResult result = search.FindOne(); 
 
        if (result != null) 
 
        { 
 
         object ret = user.Invoke("ChangeUserPassword", new object[] { OldPassword, NewUPassword }); 
 
         user.CommitChanges(); 
 
       
 

 
         return true; 
 
        } 
 
        
 
       } 
 

 
      } 
 
      catch (Exception ex) 
 
      { 
 
       throw ex; 
 
      } 
 
      return false; 
 
     }   
 
     
 
    } 
 
}

kann mir jemand sagen, was soll ich tun? danke

Antwort

0

Wenn Sie try..catch verwenden und nicht finden können, wo genau die Ausnahme aufgetreten ist, löschen Sie versuchen und fangen und führen Sie den Code erneut aus. In Ihrem Beispiel könnte es auf Invoke("ChangeUserPassword"... geschehen - so weit ich den Namen der Methode sehen sollte „Change“ sein

https://msdn.microsoft.com/en-us/library/ms180896(v=vs.80).aspx