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

时间:2014-03-07 05:42:54

标签: c# .net-4.0 windows-applications sap-connector

我使用连接器将SAP系统与.NET 4.0连接....我创建了一个示例windows appln来检查它是否正在连接.. 这是我的代码......

    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;

        }


    }

当我运行此代码时没有任何反应......即使我在应用程序设置(配置文件)中提供了错误的用户名和密码,它也没有显示任何异常,它只是加载表单...

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

2 个答案:

答案 0 :(得分:0)

SAP Net Connector使用连接池。所以你通常不会自己连接或断开连接,NCo库会为你做这件事。一旦您确实需要连接,它将立即建立。要简单地测试代码,您可以尝试创建IRfcFunction实例:

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

应触发连接。但是一般来说,在与SAP系统通信之前不需要打开连接,您只需要为连接无法建立的可能性做好准备(错误的参数,系统停机等)

答案 1 :(得分:0)

您可以做的一件事是在使用

完成工作后取消注册配置

RfcDestinationManager.UnregisterDestinationConfiguration(sapCfg);

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