Как проверить имя сервера Domino, для которого настроены заметки лотоса? используя C#
Я пытаюсь войти на сервер Domino. Для этого я беру пароль Lotus Notes и имя сервера Domino от пользователя.
if (notesPassword == "" && serverName == "")
{
MessageBox.Show ("Пожалуйста, введите имя сервера!! ");
вернуть;
}
еще
{
if (connectToDomino(notesPassword, serverName))
{
MessageBox.Show("Connection Established Succesfully!!..");
}
else
{
MessageBox.Show("Connection Fail.Please Login Again To Begin");
}
} // иначе
И в
public bool 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;
Но это показывает нулевое значение.:(
3 ответа
Вы ориентируетесь на конкретную базу данных на сервере?
Я не верю, что вы можете проверить, что сервер действителен только потому, что комбинация сервер / база данных:
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, поэтому, если вы используете метод, упомянутый Марком, и проверьте базу данных names.nsf, то он должен сообщить вам, действителен ли сервер или нет.
Надеюсь это поможет
Возможно, если вы дадите более подробную информацию о том, для чего вы пытаетесь использовать это, мы могли бы помочь вам найти лучшее решение.
Поскольку names.nsf не обязательно должен существовать на каждом сервере, более безопасный подход - использовать метод getDbDirectory в NotesSession. Это должно вызвать исключение, если доступ к серверу невозможен.
Domino.DbDirectory = _lotesNotesSession.getDbDirectory ("server_name");