Foxtable(狐表)用户栏目专家坐堂 → [求助]httprequest下异步编程异常


  共有6635人关注过本帖树形打印复制链接

主题:[求助]httprequest下异步编程异常

帅哥,在线噢!
xubing051018
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:4545 威望:0 精华:0 注册:2012/12/2 16:53:00
[求助]httprequest下异步编程异常  发帖心情 Post By:2022/10/12 10:21:00 [显示全部帖子]

httprequest下有两个事情,事件A比较耗时,用了异步函数。 事件B没有用异步。
Select Case e.Path
    Case "a.htm"
        
e.AsyncExecute = True  
'

        Functions.AsyncExecute("A", e) 
'
Case "b.htm"
        Functions.Execute("B", e) 

End
 Select

实际运行,不同时间分别访问a,b事件都是正常的,没有问题。 
但是如果在访问a事件的等待返回结果的过程中,访问b事件,系统就会报错。 求教是什么原因。

 回到顶部
帅哥,在线噢!
xubing051018
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:4545 威望:0 精华:0 注册:2012/12/2 16:53:00
  发帖心情 Post By:2022/10/12 10:22:00 [显示全部帖子]

B函数是用来统计数据的,代码如下:

Dim e As RequestEventArgs = args(0)

Dim wb As New weui

    Dim b As New SQLGroupTableBuilder("tb_grp","tb_frm_Scan")
    b.C
    b.AddTable("tb_frm_Scan","FrameID","tb_frm_FtoM","FrameID") '添加统计表
    b.AddTable("tb_frm_FtoM","ModelID","tb_frm_model","ModelID") '添加统计
    b.Groups.AddDef("OrderID","订单号") '根据产品分组
    b.Groups.AddDef("ScanEvent","扫码事件") '
    b.Totals.AddDef("StockQty", AggregateEnum.Count , "车架数量")
    b.Totals.AddDef("StockQty","在库数量") '对数量进行统计
    b.VerticalTotal = True
    Dim bt As DataTable = b.Build(True) '生成统计表   
    With wb.AddTable("","Table3")
        .CreateFromDataTable(bt,True)
    End With

e.WriteString(wb.Build)

[此贴子已经被作者于2022/10/12 10:23:27编辑过]

 回到顶部
帅哥,在线噢!
xubing051018
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:4545 威望:0 精华:0 注册:2012/12/2 16:53:00
  发帖心情 Post By:2022/10/12 10:22:00 [显示全部帖子]

报错截图

图片点击可在新窗口打开查看

图片点击可在新窗口打开查看

图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
xubing051018
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:4545 威望:0 精华:0 注册:2012/12/2 16:53:00
  发帖心情 Post By:2022/10/12 10:41:00 [显示全部帖子]

没理解。  
直接关闭a.htm是什么意思?   我是两个不同的客户端分别访问a,b事件的。    客户端1访问a事件,等待返回结果,并没有去关闭a.htm.  
此时 客户端2 访问b.htm, 然后就报错了。 
屏蔽这个报错,客户端2能够正常访问b.htm得到返回结果?
[此贴子已经被作者于2022/10/12 10:44:18编辑过]

 回到顶部
帅哥,在线噢!
xubing051018
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:4545 威望:0 精华:0 注册:2012/12/2 16:53:00
  发帖心情 Post By:2022/10/12 10:53:00 [显示全部帖子]

项目事件BeforeShowErrorMessage在Foxtable捕获错误并即将显示错误信息前执行。
Functions.Execute("LogText",e.ex,e.Event)
e.Cancel = True

用这种方式并没有能够屏蔽报错,还是弹出错误弹框。

 回到顶部