繁体   English   中英

如何检查配置了Lotus Notes的Domino服务器的名称? 使用C#

[英]How to check name of Domino Server to which lotus notes is configured? using C#

我正在尝试登录Domino服务器。 为此,我从用户那里获取Lotus Notes密码和Domino服务器名称。

如果(notesPassword ==“” && serverName ==“”)

{

MessageBox.Show(“请输入服务器名称!!”);

返回;

}

其他

{

   if (connectToDomino(notesPassword, serverName))

   {

      MessageBox.Show("Connection Established Succesfully!!..");

    }

   else

   {
    MessageBox.Show("Connection Fail.Please Login Again To Begin");

   }

}//其他

和在

公共布尔connectToDomino(字符串NotesPassword,字符串strDominoServerName)

{

       try

       {
           if (_lotesNotesSession == null)
           {

              NotesSession notesSession = new Domino.NotesSessionClass();

              notesSession.Initialize(NotesPassword);


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

}

我在这里初始化Notes密码。因此在这种情况下,它只是在验证Notes密码。 因此,即使用户输入无效的服务器名称,上述功能也将返回true。

我试过了 :

字符串serverName = notesSession.ServerName;

但是它显示空值。 :(

您是否将服务器上的特定数据库作为目标?

我不相信您可以仅凭服务器/数据库组合来检查服务器是否有效:

Domino.NotesSessionClass _lotesNotesSession = new Domino.NotesSessionClass();
//Initializing Lotus Notes Session
_lotesNotesSession.Initialize( "my_password" );
Domino.NotesDatabase _serverDatabase = _lotesNotesSession.GetDatabase( "some_server", "names.nsf", false );
if (_serverDatabase == null){
   System.Console.Writeline("Can not connect to server.");
}

每个服务器都应该有一个names.nsf数据库,因此,如果您使用Mark提到的技术并检查names.nsf数据库,那么它应该告诉您服务器是否有效。

希望这可以帮助

也许如果您提供有关其用途的更多详细信息,我们可以帮助您找到更好的解决方案。

由于无需在每个服务器上都存在names.nsf,因此一种更安全的方法是使用NotesSession的getDbDirectory方法。 如果无法访问服务器,则应该抛出异常。

Domino.DbDirectory = _lotesNotesSession.getDbDirectory ("server_name");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM