Intersystems caché - 使用 .net 在全局中读取变量 - c#

Intersystems caché - read variable in global using .net - c#

有什么方法可以使用 .net/c# 在缓存中不使用 ObjectScript 方法从全局存储在系统间缓存数据库中的所有数据?我在全球范围内有这些数据,例如:

^myGlob("x","y","Dta",1)    =   "Test 1"
^myGlob("x","y","Dta",2)    =   "Test 2"
^myGlob("cfg","sd") =   "Cfg test 1";

是否可以直接使用 .net 访问此数据?我可以在不调用 ObjectScript 方法的情况下从 c# 执行缓存查询吗?

(我想通过 ODBC 来做,但我需要访问另一个具有不同全局名称和索引名称的全局变量,所以我需要在运行时定义数据结构)

谢谢

是的,您只能在 .Net 中使用 Caché eXTreme 做到这一点
来自 documentation.

的示例
using System;
using InterSystems.Globals;

class FetchNodes {
  public static void Main(String[] args) {
    Connection myConn = ConnectionContext.GetConnection();
    try {
      myConn.Connect("User", "_SYSTEM", "SYS");
      NodeReference nodeRef = myConn.CreateNodeReference("myGlobal");
      // Read both existing nodes
      Console.WriteLine("Value of ^myGlobal is " + nodeRef.GetString());
      Console.WriteLine("Value of ^myGlobal(\"sub1\") is " + nodeRef.GetString("sub1"));
      nodeRef.Kill();   // delete entire array
      nodeRef.Close();
      myConn.Close();
    }
    catch (GlobalsException e) { Console.WriteLine(e.Message); }
  } // end Main()
} // end class FetchNodes