如何检查SAP系统是否连接到.NET



我正在使用连接器将SAP系统与.NET 4.0连接。...我已经创建了一个示例窗口应用程序来检查它是否正在连接。这是我的代码...

    private void Form1_Load(object sender, EventArgs e)
    {
        try
        {
            SAPSystemConnect sapCfg = new SAPSystemConnect();
            RfcDestinationManager.RegisterDestinationConfiguration(sapCfg);
            RfcDestination rfcDest = null;
            rfcDest = RfcDestinationManager.GetDestination("Dev");
        }
        catch (Exception ex)
        {
           // MessageBox.Show("ERROR");
              label1.text=ex.Message;
        }

    }

当我运行此代码时,什么也不会发生...即使我在应用程序设置(配置文件)中给出了错误的用户名和密码,也没有显示任何例外,它只是加载表单...

有人可以清楚我的疑问吗?我们还有其他方法可以找到该系统是否已连接?

SAP Net连接器使用连接池。因此,您通常不会连接或断开自己的连接,NCO库为您做到了。一旦您实际需要建立连接,就会建立。要简单地测试您的代码,您可以尝试创建IRFCFUNCTICT实例:

...
rfcDest = RfcDestinationManager.GetDestination("Dev");
IRfcFunction fnc = rfcDest.Repository.CreateFunction("RFCPING");
...

应该触发连接。但是通常,您不需要在与SAP系统进行通信之前打开连接,您只需要为无法建立连接的可能性做好准备(错误的参数,系统下降等)。

您可以做的一件事是通过使用

进行登记后的配置。

rfcdestinationManager.unregisterDestinationConfiguration(SAPCFG);

和下一次尝试再次连接注册并使用。

最新更新