Acumatica 如何执行存储过程

Acumatica 如何执行存储过程,acumatica,Acumatica,我知道Acumatica不推荐使用这种方法,但除了使用存储过程之外,我们没有其他选择。我创建了一个新的处理屏幕来执行存储过程,但遇到超时异常 我的代码示例如下: using (new PXConnectionScope()) { using (PXTransactionScope ts = new PXTransactionScope()) { PXDatabase.Execute("MYSTOREDPROCEDURE", pars.ToArray()); ts.C

我知道Acumatica不推荐使用这种方法,但除了使用存储过程之外,我们没有其他选择。我创建了一个新的处理屏幕来执行存储过程,但遇到超时异常

我的代码示例如下:

using (new PXConnectionScope())
{
  using (PXTransactionScope ts = new PXTransactionScope())
   {
     PXDatabase.Execute("MYSTOREDPROCEDURE", pars.ToArray());
     ts.Complete();
    }
 }

尝试在
PXLongOperation
上下文中执行长时间运行的代码。我假设它们与定期ping建立连接,以避免在等待数据到达时超时

PXLongOperation.StartOperation(Base, delegate()
{
   // Code executed in long operation context
});
如果您的代码是在处理委托的上下文中执行的,我认为它应该已经包装在一个长操作中了。否则,应在操作事件处理程序中使用长操作

最后一个办法是增加
web.config
文件中的超时时间。
存储过程的使用主要是为了SAAS托管和获得Acumatica ISV认证。可能没有官方支持,但我怀疑它会消失。

尝试在
PXLongOperation
上下文中执行长时间运行的代码。我假设它们与定期ping建立连接,以避免在等待数据到达时超时

PXLongOperation.StartOperation(Base, delegate()
{
   // Code executed in long operation context
});
如果您的代码是在处理委托的上下文中执行的,我认为它应该已经包装在一个长操作中了。否则,应在操作事件处理程序中使用长操作

最后一个办法是增加
web.config
文件中的超时时间。 存储过程的使用主要是为了SAAS托管和获得Acumatica ISV认证。可能没有官方支持,但我怀疑它会消失