Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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# Ldap连接引发对象引用未设置为对象错误的实例_C#_Asp.net_.net_Ldap - Fatal编程技术网

C# Ldap连接引发对象引用未设置为对象错误的实例

C# Ldap连接引发对象引用未设置为对象错误的实例,c#,asp.net,.net,ldap,C#,Asp.net,.net,Ldap,Ldap连接引发对象引用未设置为对象错误的实例 我正在尝试连接到LDAP以对用户进行身份验证。这是我的代码,在将connction安全套接字层设置为true之后,我在connection.connect期间遇到异常 它抛出的异常对象引用未设置为对象的实例,我创建了用于连接的对象,但不知道出了什么问题。有人帮我吗 using LdapConnection = Novell.Directory.Ldap.LdapConnection; using LdapException = Novell.Dir

Ldap连接引发对象引用未设置为对象错误的实例

我正在尝试连接到LDAP以对用户进行身份验证。这是我的代码,在将connction安全套接字层设置为true之后,我在connection.connect期间遇到异常

它抛出的异常对象引用未设置为对象的实例,我创建了用于连接的对象,但不知道出了什么问题。有人帮我吗

using LdapConnection = Novell.Directory.Ldap.LdapConnection;
using LdapException = Novell.Directory.Ldap.LdapException;

 var ldapHost = WebConfigurationManager.AppSettings["LDAP_HOST"];
 var ldapPort = WebConfigurationManager.AppSettings["LDAP_PORT"];

 var connection = new LdapConnection {SecureSocketLayer = true};
 connection.Connect(ldapHost, Convert.ToInt32(ldapPort)); // Getting exception here object reference not set to an instance of an object.

 sb = new StringBuilder();
 sb.Append(ldapLocation).Append(userName).Append(",").Append(ldapLocationIndia);
 connection.Bind(LdapConnection.Ldap_V3, sb.ToString(), password);  
请帮忙,谢谢

堆栈跟踪信息:

在Novell.Directory.Ldap.Connection.connect(字符串主机、Int32端口、Int32信号量ID) 位于Novell.Directory.Ldap.Connection.connect(字符串主机,Int32端口) 位于Novell.Directory.Ldap.LdapConnection.Connect(字符串主机,Int32端口) 在c:\Project\Production Version 2.0\Planner\Planner\Controllers\AccountController.cs中,在Planner.Controllers.AccountController.isAuthenticated(LoginModel模型)处:第106行 在c:\Project\Production Version 2.0\Planner\Planner\Controllers\AccountController.cs中的Planner.Controllers.AccountController.Login(LoginModel模型)处:第44行 在lambda_方法中(闭包、控制器基、对象[]) 位于System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller,Object[]参数) 在System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext ControllerContext,IDictionary
2个参数)
位于System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext ControllerContext、ActionDescriptor ActionDescriptor、IDictionary
2个参数) 位于System.Web.Mvc.Async.AsyncControllerActionInvoker.InvokeSynchronousActionMethod(ControllerContext ControllerContext,ActionDescriptor ActionDescriptor,IDictionary
2个参数)
在System.Web.Mvc.Async.AsyncControllerActionInvoker.c__DisplayClass42.b__41()中
在System.Web.Mvc.Async.AsyncResultRapper.c_uuuuDisplayClass8上
1.b_uuuuuu7(IAsyncResult) 位于System.Web.Mvc.Async.AsyncResultRapper.WrappedAsyncResult`1.End() 在System.Web.Mvc.Async.asyncResultRapper.End[TResult](IAsyncResult asyncResult,对象标记) 位于System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) 在System.Web.Mvc.Async.AsyncControllerActionInvoker.c_uuDisplayClass37.c_uuDisplayClass39.b_u33()中
在System.Web.Mvc.Async.AsyncControllerActionInvoker.c_uudisplayClass4f.b_uu49()

配置中是否正确设置了
ldapHost
ldaport


connection.connect()
引发的异常属于tpye
LDAPException
,因此我假设它甚至没有尝试连接。

请发布异常的完整堆栈跟踪使用堆栈更新问题trace@user1557020当前位置我只是注意到你很少“得票”如有任何有用的答案/意见,我鼓励您这样做。你真的应该给那些帮助你的人一些选票!这只需要你点击一下就可以了,因为你自己的分数都不会被放弃,这是一种简单的方式,可以向那些人表明你尊重他们的辛勤付出,并负担得起帮助你的费用!当然,哥们现在就可以了。谢谢你指出我的问题mistake@user1557020你找到解决办法了吗?我在Novell.Directory.Ldap.NETStandard库中也遇到了同样的问题。如果我删除或注释SecureSocketLayer=true,它的工作状态会很好。所以端口和主机是完美的。您是否尝试了
var connection=new LdapConnection();connection.SecureSocketLayer=true?是的。我做了,这导致了问题,如果我评论securesocketlayer=true,它工作正常。否则就是抛出对象引用错误,我不明白。如果将对象创建和SSL设置分开,它是否有效?根据文档,只有在创建对象后才能设置
securesocketlayer=true
。请参阅第1.5.3节。在您第一次发表评论后,我将SSL设置与其不工作(如果我删除SSL设置,则其工作)与SSL及其引用错误分开。