[英]How to check whether the SAP system is connected to .NET or not?
我正在使用连接器通过.NET 4.0连接SAP系统。...我创建了一个示例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;
}
}
当我运行此代码时没有任何反应...即使我在应用程序设置(配置文件)中输入了错误的用户名和密码,也不会显示任何异常,而只是在加载表格...
谁能消除我的疑问? 我们还有其他方法可以确定系统是否已连接吗?
SAP Net Connector使用连接池。 因此,您通常不连接自己或断开连接,NCo库为您完成了这一工作。 实际需要连接后,它将立即建立。 为了简单地测试您的代码,您可以尝试创建一个IRfcFunction实例:
...
rfcDest = RfcDestinationManager.GetDestination("Dev");
IRfcFunction fnc = rfcDest.Repository.CreateFunction("RFCPING");
...
那应该触发连接。 但是通常,在与SAP系统通信之前,不需要打开连接,您只需要为无法建立连接(参数错误,系统关闭等)做好准备。
您可以做的一件事是在使用完成工作后注销配置
RfcDestinationManager.UnregisterDestinationConfiguration(sapCfg);
下次尝试连接时,再次注册并使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.