![](/img/trans.png)
[英]Connecting to remote domino/lotus notes server to send/retrieve user mails, contacts, etc using 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.