我是一名c#开发人员,有兴趣开发一个Windows应用程序来连接Lotus Notes .nsf db并显示像 1)表格数量 2)观点数量 3)脚本库 4)行动 5)代理商
一旦我这样做,我想阅读每个表单和每个表单中可用的UI元素,并生成一个等效的.aspx文件。
我的系统上安装了Lotus Notes客户端和设计器。
有人可以建议如何继续这项要求吗?
答案 0 :(得分:2)
使用允许您使用数据库的domino interprop库。像这样:
var session = new NotesSession();
session.Initialize("password");
var db = session.GetDatabase("server name", "path to database", false);
if (db == null) throw new ArgumentNullException("cannot load database");
var collection = db.CreateNoteCollection(false);
collection.SelectScriptLibraries = true;
collection.BuildCollection();
var dxlExporter = session.CreateDXLExporter();
dxlExporter.OutputDOCTYPE = false;
var noteId = collection.GetFirstNoteId();
while (noteId != null)
{
var doc = db.GetDocumentByID(noteId);
var xml = dxlExporter.Export(doc);
//do something with DXL
noteId = collection.GetNextNoteId(noteId);
}
答案 1 :(得分:1)
前一段时间我需要与项目的Notes进行通信,我们找到的最佳解决方案是在Notes机器上编写Web服务以公开各种信息。
您可以使用Java来执行此操作,有一个非常丰富的Java API可以帮助您。 我不知道有任何方法可以通过.NET API直接与Notes通信。
我想阅读每个表单中的每个表单和UI元素,并生成一个等效的.aspx文件。
对于上面的部分,我不完全确定你在追求什么 - 你是否试图在ASP.NET网页中复制Notes表单? 如果是这样,那可能会被证明是一个棘手的任务,因为您需要处理Notes中可用的所有可能元素并将它们转换为ASP.NET等效元素 - 这不是一件可以快速完成的事情!
答案 2 :(得分:1)
您应该在这里找到所需的一切http://www.ibm.com/developerworks/lotus/
这是我使用任何IBM技术的第一站。
PS http://www.ibm.com/developerworks/lotus/library/domino-msnet/
答案 3 :(得分:0)
如果您想为ASPX实现某种Notes数据库迁移工具,我建议您查看Design DXL方面。尽管使用DXL编码设计元素的往返行程相当不受支持,但您可以轻松地将所有设计导出到XML文件并从那里开始。我相信通过解析XML,您可以重新创建几乎所有内容,而成功率只会基于您的.NET技能。同时,这种方式仅适用于一次性导出,而不适用于动态更新的数据库。因此假设您希望有一次导出和转换,而不是在Notes中设计您的应用程序,然后将其转换为ASPX。