System.DirectoryServices.DirectoryServicesCOMException: Wystąpił błąd operacji
Mam tę samą aplikację internetową działającą na trzech innych serwerach. Czy ktoś ma jakieś pomysły, dlaczego czwarty serwer nie działa? Zobacz błąd sekcji i ślad stosu:
Wystąpił błąd operacji.
Opis: nieobsługiwany wyjątek został zgłoszony w czasie wykonywania
aktualne żądanie sieciowe. Więcej informacji znajdziesz w stosie śledzenia
informacje o błędzie i miejscu jego wystąpienia w kodzie.
Szczegóły wyjątku:
System.DirectoryServices.DirectoryServicesCOMException: Operation
Wystąpił błąd.
Błąd źródła
:
Nieobsługiwany wyjątek został zgłoszony w czasie wykonywania
aktualne żądanie sieciowe. Informacje o pochodzeniu i lokalizacji
wyjątki można zidentyfikować za pomocą stosu wyjątków śledzenia poniżej.
Stos śledzenia
:
[DirectoryServicesCOMException (0x80072020):
wystąpił błąd operacji. ] System.DirectoryServices.DirectoryEntry.Bind (boolean
throwIfFail) +454 System.DirectoryServices.DirectoryEntry.Bind()
+36 System.DirectoryServices.DirectoryEntry.get_AdsObject() +31 System.DirectoryServices.PropertyValueCollection.PopulateList() +22
System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, propertyName string) +96
System.DirectoryServices.PropertyCollection.get_Item (string
propertyName) +142
System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInitNoContainer()
+1134 System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit()
+37 System.DirectoryServices.AccountManagement.PrincipalContext.Initialize()
+124 System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx()
+31 System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper(PrincipalContext
kontekst, głównyType typ dopuszczający wartość null, „1 typ_tożsamości, ciąg
identityValue, DateTime refDate) +14
System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithType (Kontekst PrincipalContext, PrincipalType, string identityValue) +73
System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity (Kontekst PrincipalContext, łańcuch wartości tożsamości) +25
Infraero.TINE3.STTEnterprise.Web.Common.Seguranca.ServicoAutenticacao.EfetuarLogin(AcessoUsuario
acessoUsuario, linia senha) w
D:\SVN\STT\trunk\4-0_CodigoFonte_Enterprise\4-4_SRC\Infraero.TINE3.STTEnterprise.Web\Common\Seguranca\ServicoAutenticacao.cs:34
Infraero.TINE3.STTEnterprise.Web.Controllers.LoginController.ValidarUsuarioAD (wiersz
matricula, String senha, AcessoUsuario acessoUsuario) w
D:\SVN\STT\trunk\4-0_CodigoFonte_Enterprise\4-4_SRC\Infraero.TINE3.STTEnterprise.Web\Controllers\LoginController.cs:92
Infraero.TINE3.STTEnterprise.Web.Controllers.LoginController.ValidarUsuario (wiersz
matricula, String senha) w
D:\SVN\STT\trunk\4-0_CodigoFonte_Enterprise\4-4_SRC\Infraero.TINE3.STTEnterprise.Web\Controllers\LoginController.cs:80
Infraero.TINE3.STTEnterprise.Web.Controllers.LoginController.Index(LoginViewModel
Loginviewmodel) B.
D:\SVN\STT\trunk\4-0_CodigoFonte_Enterprise\4-4_SRC\Infraero.TINE3.STTEnterprise.Web\Controllers\LoginController.cs:54
lambda_method (close, ControllerBase, Object []) +108
System.Web.Mvc.ActionMethodDispatcher.Execute (kontroler ControllerBase, parametry Obiekt []) +17
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext
controllerContext, parametr IDictionary'2) +208
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext
controllerContext, ActionDescriptor actionDescriptor, IDictionary'2
parametry) +27
System.Web.Mvc.<>c__DisplayClass15.b__12()
+55 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter
filter, ActionExecutingContext preContext, kontynuacja Func'1) +263
System.Web.Mvc.<>c__DisplayClass17.b__14()
+19 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext
controllerContext, filtry IList '1, ActionDescriptor actionDescriptor,
Parametry IDictionary`2) +191
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext
controllerContext, string actionName) +343
System.Web.Mvc.Controller.ExecuteCore() +116
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
+97 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext
requestContext) +10
System.Web.Mvc.<>c__DisplayClassb.b__5() +37
System.Web.Mvc.Async.<>c__DisplayClass1.b__0() +21
System.Web.Mvc.Async.<>c_ _ DisplayClass8'1.b__7(IAsyncResult
_) +12 System.Web.Mvc.Async.WrappedAsyncResult'1.End() +62 System.Web.Mvc.<>c__DisplayClasse.b__d() +50
System.Web.Mvc.SecurityUtil.b__0 (akcja f) +7
System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust (akcja)
+22 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult
wynik) +9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+8963149 System.Web.HttpApplication.ExecuteStep (krok IExecutionStep, Boolean & amp; completeSynchronously) +184
EfetuarLogin sposób:
public static bool EfetuarLogin(User user, string password)
{
bool isValid = false; if (user != null)
{
PrincipalContext context = new PrincipalContext(ContextType.Domain); using (context)
{
isValid = context.ValidateCredentials(user.Login, password); if (isValid)
{
UserPrincipal userAD = UserPrincipal.FindByIdentity(context, user.Login); MySession.CurrentUser = new MyUserSession()
{
Id = user.Id,
ProfileId = user.ProfileId ,
Login = user.Login ,
Name = userAD.Name
};
}
}
} return isValid;
}
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
7 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
W roku IIS:
Mam nadzieję że to pomoże.
Anonimowy użytkownik
Potwierdzenie od:
Po prostu użyj tej metody, aby wykonać podwyższony kod
Anonimowy użytkownik
Potwierdzenie od:
Jest to prawie na pewno spowodowane tym, że plik
identyfikator puli aplikacji nie ma uprawnień dostępu do usługi Active Directory
.
Anonimowy użytkownik
Potwierdzenie od:
BUT
nie wolał „ponieważ usługi działające jako usługa sieciowa mogą kolidować z innymi usługami działającymi pod tym samym identyfikatorem” pod następującym łączem:
(
http://www.iis.net/learning/ma ... pool- identities
http://www.iis.net/learn/manag ... ities
).
Uruchomiłem poprawkę (
KB2545850
http://support.microsoft.com/kb/2545850) na serwerze i zrestartowany zgodnie z tą odpowiedzią :(
DirectoryServicesCOMException 80072020 z witryny usług IIS 7.5 z uruchomioną aplikacją ApplicationPoolIdentity
https://coderoad.ru/13070856/
)
Wygląda na to, że teraz działa dobrze.
Tło mojego zadania:
Uaktualnianie aplikacji z .NET Framework 2.0 na serwerze 2003 do .NET Framework 4.0 na serwerze 2008 R2.
Anonimowy użytkownik
Potwierdzenie od:
Wypróbowałem wszystkie powyższe rozwiązania, ale żadne z nich nie pomogło. Usługa sieciowa została już wybrana na maszynie wirtualnej platformy Azure.
Po wielu kliknięciach, próbach i badaniach. Naprawiłem wszystko.
Rozwiązanie: Lokalny serwer miał uprawnienia dostępu do LDAP i nie wymagał nazwy użytkownika ani hasła. Ale na platformie Azure musisz specjalnie wykonać wywołanie LDAP przy użyciu nazwy użytkownika i hasła. Poniżej znajduje się kod, który pomógł.
Anonimowy użytkownik
Potwierdzenie od:
2-Kliknij Uwierzytelnianie i wyłącz personifikację ASP.Net.
Anonimowy użytkownik
Potwierdzenie od:
i przechodząc przez to, zgłasza powyższy wyjątek, który nie ma InnerExceptions?
Zgodnie ze stosem śledzenia ta linia jest początkiem problemu. Zwrócony wyjątek
musieć
zawierać przynajmniej inne informacje, dlaczego został odrzucony.
InnerException Concatenator
>
Poniższa metoda przyjmuje wyjątek najwyższego poziomu i zwraca podział wewnętrznych wyjątków w formacie tabulacji i podziału wiersza jako ciąg.
Możesz to nazwać tak: