Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 调用LDAPConnection时平台不支持异常。断开连接_C#_Active Directory_.net Core_Novell - Fatal编程技术网

C# 调用LDAPConnection时平台不支持异常。断开连接

C# 调用LDAPConnection时平台不支持异常。断开连接,c#,active-directory,.net-core,novell,C#,Active Directory,.net Core,Novell,一切似乎都很正常(除了检索特定属性应该比遍历所有现有属性容易得多这一事实——不知道为什么它是这样设计的),但是当我尝试断开连接时,我得到了 PlatformNotSupportedException:此平台不支持线程中止 代码与Novell文档中的代码几乎完全相同,除了我试图检索2个特定属性(名称和登录时间): 它抛出此错误的原因是.NET内核不支持Thread.Abort()。 该库需要更新以使用不同的机制(我认为CancellationToken是推荐的方法)Novell开发人员已经提出了N

一切似乎都很正常(除了检索特定属性应该比遍历所有现有属性容易得多这一事实——不知道为什么它是这样设计的),但是当我尝试断开连接时,我得到了

PlatformNotSupportedException:此平台不支持线程中止

代码与Novell文档中的代码几乎完全相同,除了我试图检索2个特定属性(名称和登录时间):


它抛出此错误的原因是.NET内核不支持
Thread.Abort()

该库需要更新以使用不同的机制(我认为CancellationToken是推荐的方法)

Novell开发人员已经提出了Novell.Directory.Ldap.NETStandard的版本,该版本似乎与DotNet Core 2.0完全兼容。我已将项目引用更改为 Novell.Directory.Ldap.NETStandard 3.0.0版本,现在工作正常

相同的命令行是:

Install-Package Novell.Directory.Ldap.NETStandard -Version 3.0.0-beta4

Novell库是为Mono设计的,因此它在.NETCore上可能工作得不太好。你应该向Mono的人汇报,看看他们的反应,
System.Threading.Thread.Abort()


Novell.Directory.Ldap.Connection.Dispose(bool disposing, string reason, int semaphoreId, InterThreadException notifyUser)


Novell.Directory.Ldap.Connection.destroyClone(bool apiCall)


Novell.Directory.Ldap.LdapConnection.Disconnect()


LogonChecker.Managers.ActiveDirectory.GetADUsers() in ActiveDirectory.cs
- 
64.                    }
65.                }
66.
67.                users.Add(user);
68.            }
69.
70.            ldapConn.Disconnect();
71.
72.            return users;
73.
74.            // LdapConnection ADconn = new LdapConnection();
75.            // ADconn.Connect("DOMAIN.com", 389);
76.            // ADconn.Bind("DOMAIN\\_Bassie", "password");


LogonChecker.Controllers.UserController+<Index>d__2.MoveNext() in UserController.cs
- 
20.        }
21.
22.        // GET: User
23.        public async Task<IActionResult> Index()
24.        {
25.            var ad = new ActiveDirectory();
26.            var users = ad.GetADUsers();
27.
28.            return View(users);
29.            // return View(await _context.User.ToListAsync());
30.        }
31.
32.        // GET: User/Details/5


System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()


System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)


System.Runtime.CompilerServices.TaskAwaiter.GetResult()


Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker+<InvokeActionMethodAsync>d__12.MoveNext()


System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()


System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)


Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker+<InvokeNextActionFilterAsync>d__10.MoveNext()


System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()


Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)


Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)


Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker+<InvokeInnerFilterAsync>d__14.MoveNext()


System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()


System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)


Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker+<InvokeNextResourceFilter>d__22.MoveNext()


System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()


Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)


Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)


Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker+<InvokeFilterPipelineAsync>d__17.MoveNext()


System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()


System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)


Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker+<InvokeAsync>d__15.MoveNext()


System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()


System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)


Microsoft.AspNetCore.Builder.RouterMiddleware+<Invoke>d__4.MoveNext()


System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()


System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)


Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware+<Invoke>d__7.MoveNext()
Install-Package Novell.Directory.Ldap.NETStandard -Version 3.0.0-beta4