Domino有组件支持.net,虽然感觉支持的不太好,但是能用,安装组件的方法很简单,在NuGet中联机搜索Domino,然后根据需要安装即可。
开发时,要在开发机上安装Notes客户端,网上很多,这里不赘述,直接上简易读取代码:
1 NotesSession ns = new NotesSession(); 2 //ns.Initialize("test1234"); 3 ns.Initialize(); 4 if (ns == null) 5 { 6 MessageBox.Show("未能初始化"); 7 return; 8 } 9 //http://10.31.100.50 10 NotesDatabase db = ns.GetDatabase("", @"names.nsf", false); 11 if (db == null) 12 { 13 MessageBox.Show("未能初始化数据库"); 14 return; 15 } 16 17 StringBuilder sb = new StringBuilder(); 18 19 NotesView view = db.GetView("$users"); 20 object[] cols = view.ColumnNames; 21 Dictionary<int, object> dic = new Dictionary<int, object>(); 22 if (cols != null) 23 { 24 int ix = 0; 25 foreach (object obj in cols) 26 { 27 dic.Add(ix, obj); 28 if (obj != null) sb.Append(string.Format("{0}\r\n", obj)); 29 ix++; 30 } 31 } 32 NotesViewEntry ve = view.GetEntryByKey("12345"); 33 if (ve != null) 34 { 35 int ix = 0; 36 object[] objs = ve.ColumnValues; 37 foreach (object obj in objs) 38 { 39 KeyValuePair<int, object> kv = dic.FirstOrDefault(m => m.Key == ix); 40 Type tp = obj.GetType(); 41 if (tp.Name.Contains("Object[]")) 42 { 43 int ik = 0; 44 object[] nobjs = (object[])obj; 45 foreach (object nobj in nobjs) 46 { 47 sb.Append(string.Format("{0}[{1}]值为:{2}\r\n", kv.Value, ik, nobj)); 48 ik++; 49 } 50 } 51 else 52 { 53 sb.Append(string.Format("{0}值为:{1}\r\n", kv.Value, obj)); 54 } 55 ix++; 56 } 57 58 }
时间: 2024-12-27 13:00:54