2009-09-23 5 views
0

J'essaie de me connecter au serveur Domino. Pour cela, je prends le mot de passe Lotus Notes et le nom du serveur Domino de l'utilisateur.Comment vérifier le nom du serveur Domino sur lequel les notes de lotus sont configurées? using C#

if (notesPassword == "" & & nomServeur == "")

{

MessageBox.Show ("S'il vous plaît entrer le nom du serveur !!");

retour;

}

autre

{

if (connectToDomino(notesPassword, serverName)) 

    { 

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

    } 

    else 

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

    } 

} // else

et

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; 
     } 

}

Ici, je note dans ce password.So Initialisation cas, il est tout simplement vérifier mot de passe Notes. Ainsi, même si l'utilisateur entre une entrée non valide du nom du serveur au-dessus de la fonction retournera vrai.

J'ai essayé:

chaîne

serverName = notesSession.ServerName;

Mais il montre une valeur nulle. :(

Répondre

2

Ciblez-vous une base de données spécifique sur le serveur

Je ne crois pas que vous pouvez vérifier que le serveur est valide juste que la combinaison serveur/base de données est:

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."); 
} 
2

Chaque serveur devrait avoir une base de données names.nsf, donc si vous utilisez la technique mentionnée par Mark et vérifier la base de données names.nsf alors il devrait vous dire si le serveur est valide ou non.

Hope this helps

Peut-être que si vous donnez plus de détails sur ce que vous essayez d'utiliser, nous pourrions vous aider à trouver une meilleure solution.

+0

+1, excellente idée, j'ai édité ma réponse pour utiliser la base de données "names.nsf". – Mark

2

Étant donné que names.nsf n'a pas nécessairement besoin d'exister sur chaque serveur, une approche plus sûre consisterait à utiliser la méthode getDbDirectory de NotesSession. Cela devrait déclencher une exception si le serveur n'est pas accessible.

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