我使用连接器将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;
}
}
当我运行此代码时没有任何反应......即使我在应用程序设置(配置文件)中提供了错误的用户名和密码,它也没有显示任何异常,它只是加载表单...
任何人都可以清楚我的怀疑吗?我们还有其他方法可以找到系统是否已连接?
答案 0 :(得分:0)
SAP Net Connector使用连接池。所以你通常不会自己连接或断开连接,NCo库会为你做这件事。一旦您确实需要连接,它将立即建立。要简单地测试代码,您可以尝试创建IRfcFunction实例:
...
rfcDest = RfcDestinationManager.GetDestination("Dev");
IRfcFunction fnc = rfcDest.Repository.CreateFunction("RFCPING");
...
应触发连接。但是一般来说,在与SAP系统通信之前不需要打开连接,您只需要为连接无法建立的可能性做好准备(错误的参数,系统停机等)
答案 1 :(得分:0)
您可以做的一件事是在使用
完成工作后取消注册配置RfcDestinationManager.UnregisterDestinationConfiguration(sapCfg);
下次尝试连接时再次注册并使用。