以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  对于HttpRequest一律使用异步方式进行处理,请问这样处理有什么隐患吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149626)

--  作者:Hopenight
--  发布时间:2020/5/8 7:06:00
--  对于HttpRequest一律使用异步方式进行处理,请问这样处理有什么隐患吗?
包括Web数据源
[此贴子已经被作者于2020/5/8 7:14:17编辑过]

--  作者:有点蓝
--  发布时间:2020/5/8 8:34:00
--  
使用得当就不会有问题:http://www.foxtable.com/mobilehelp/topics/277.htm。数据库操作建议都使用SQLcommand

Web数据源默认就是异步的,不需要另外处理

--  作者:chen37280600
--  发布时间:2020/5/8 8:36:00
--  
1线程启动和销毁,需要200ms左右。系统线程数可以非常多
2数据库的连接和销毁,大概需要250ms。数据库线程资源非常宝贵,开得多,软件一定会内存崩。记得close即可。
3一般sql执行大概需要170ms

如果你主线程里修改一个简单的数据库,直接sqlReplaceFor,只需要170ms
如果你异步+事务+sql,需要200+250+170ms


1异步里不能修改主线程的变量,不过可以读
2异步里不能用狐表原生的事务,要自己new一个OleDb的链接去启动事务
3异步里不能用狐表DataTables相关的SQLxxx方法,狐表的便捷基本上没了。只剩下原生.net代码
4异步一定要记得写e.handle =true,不然系统不报错,但实际上没做完就被干掉


[此贴子已经被作者于2020/5/8 8:37:06编辑过]

--  作者:Hopenight
--  发布时间:2020/5/8 8:58:00
--  
感谢两位大佬的经验
--  作者:浙江仔
--  发布时间:2020/5/8 11:19:00
--  
以下是引用chen37280600在2020/5/8 8:36:00的发言:
1线程启动和销毁,需要200ms左右。系统线程数可以非常多
2数据库的连接和销毁,大概需要250ms。数据库线程资源非常宝贵,开得多,软件一定会内存崩。记得close即可。
3一般sql执行大概需要170ms

如果你主线程里修改一个简单的数据库,直接sqlReplaceFor,只需要170ms
如果你异步+事务+sql,需要200+250+170ms


1异步里不能修改主线程的变量,不过可以读
2异步里不能用狐表原生的事务,要自己new一个OleDb的链接去启动事务
3异步里不能用狐表DataTables相关的SQLxxx方法,狐表的便捷基本上没了。只剩下原生.net代码
4异步一定要记得写e.handle =true,不然系统不报错,但实际上没做完就被干掉


[此贴子已经被作者于2020/5/8 8:37:06编辑过]

 

 

大神请教一下:

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=129203&skin=0

 

按照这个这么改,在异步中使用有没有实际作用?

 


--  作者:有点蓝
--  发布时间:2020/5/8 11:40:00
--  
这其实就是使用的SQLCommand,只不过包装了一下,不考虑事务的情况下肯定是可以使用的
--  作者:chen37280600
--  发布时间:2020/5/8 12:01:00
--  
其实就这个问题http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=149567&replyID=&skin=1
,连新类都不用封装。只要狐爸看下这几个SQLxxx方法的源码,有没有公共变量会互相污染,就知道能否用在异步了。

按照有点蓝的说法,只是包装SqlCommand,貌似是没问题,不过他也还没看源码,最好还是作者来回答。不然真产生数据干扰写错,你很难发现,发现了也无法修正数据

帮我顶上方这个链接帖子上去,让狐爸回复一下就搞定了。
[此贴子已经被作者于2020/5/8 12:01:23编辑过]