关闭用户会话 AXAPTA



im 制作一个使用 Dynamics AX 业务连接器与 AX 连接的网站,它工作正常,但有时用户不会注销。

这是我的代码:

Microsoft.Dynamics.BusinessConnectorNet.Axapta DynAx = new Microsoft.Dynamics.BusinessConnectorNet.Axapta();
try
{
DynAx.Logon(null, null, null, null);
//Execute some methods
DynAx.Logoff();
}
catch (Exception ex)
{
DynAx.Logoff();
}

在 AX 中,我可以看到用户登录。这种情况有时会发生,这就是为什么我不知道可能是谁。 也许Dispose((方法更好?

感谢您抽出宝贵时间阅读本文。

登录/注销对我有用,但如果你说有时它不是,那么原因很可能是以下之一:

  • 业务连接器可能是片状的。这不是一个Microsoft优先事项,最终被贬值了。
  • //Execute some methods部分中发生的任何情况都可能锁定或阻止注销。
  • 您可能需要更新内核才能获取业务连接器的更新版本

在我的AX2012R3环境中,我可以一遍又一遍地成功运行以下PowerShell代码。这为我指出了上述原因之一。

Add-Type -Path "C:Program FilesMicrosoft Dynamics AX60BusinessConnectorBinMicrosoft.Dynamics.BusinessConnectorNet.dll"
$ax = new-object Microsoft.Dynamics.BusinessConnectorNet.Axapta
 
$ax.logon($null, $null, $null, $null)
$b = $ax.CreateAxaptaRecord("userinfo")
$array = New-Object System.Collections.ArrayList
 
$b.ExecuteStmt("select id from %1")
while($b.found){
$array.add($b.get_field("id")) | out-null
$b.next() | out-null
}
 
$array | Format-Table -AutoSize
$ax.Logoff()
$ax.Dispose()

最新更新