0

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(string NotesPassword, string strDominoServerName)

{

       try

       {
           if (_lotesNotesSession == null)
           {

              NotesSession notesSession = new Domino.NotesSessionClass();

              notesSession.Initialize(NotesPassword);


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

}

ここでは、メモのパスワードを初期化しています。この場合は、メモのパスワードを確認しているだけです。そのため、ユーザーが上記のサーバー名に無効なエントリを入力しても、関数は true を返します。

私は試した :

文字列 serverName = notesSession.ServerName;

しかし、それはnull値を示しています。:(

4

3 に答える 3

2

サーバー上の特定のデータベースをターゲットにしていますか?

サーバーとデータベースの組み合わせが次のようになっているだけで、サーバーが有効であることを確認できるとは思いません。

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.");
}
于 2009-09-23T15:14:58.787 に答える
2

names.nsfは必ずしもすべてのサーバーに存在する必要はないため、より安全なアプローチは、NotesSessionのgetDbDirectoryメソッドを使用することです。サーバーにアクセスできない場合、これは例外をスローする必要があります。

Domino.DbDirectory = _lotesNotesSession.getDbDirectory ("server_name");
于 2009-09-23T16:49:12.903 に答える
2

すべてのサーバーには names.nsf データベースが必要なので、Mark が言及した手法を使用して names.nsf データベースをチェックすると、サーバーが有効かどうかがわかります。

お役に立てれば

これを何に使用しようとしているのかについて詳しく教えていただければ、より良い解決策を見つけるお手伝いができるかもしれません。

于 2009-09-23T15:32:46.957 に答える