我正在尝试在代码中打开 names.nsf。这段代码已经工作了一段时间,但突然间,我变得空了。知道为什么吗?我似乎没有收到任何错误,我不知道如何找出问题所在。
我可以从同一台机器上的 Notes 客户端打开数据库。
更新
这是代码。这些字段在构造函数中初始化。空引用出现在 .IsOpen() 消息上。
public class DominoPersonSearcher
{
private string _serverName;
private string _databaseFileName;
private string _password;
private Domino.NotesDatabase OpenDatabase(out Domino.NotesSession notesSession)
{
notesSession = new Domino.NotesSessionClass();
notesSession.Initialize(this._password);
Domino.NotesDatabase notesDatabase;
notesDatabase = notesSession.GetDatabase(this._serverName, this._databaseFileName, false);
if (!(notesDatabase.IsOpen))
{
notesDatabase.Open();
}
return notesDatabase;
}
此代码是 C# 并在 Web 服务器上运行;它不在数据库内 - 它在 Notes 之外运行,只是调用它。我已经多次使用这种确切的机制。它使用一个围绕 Lotus Domino Objects COM C:\notes\domobj.tlb 的 .NET 包装器,称为 Interop.Domino.dll。Domino 安装在不同的服务器上。