VC写的COM连接点事件,VB和C#响应误差
VC写的COM连接点事件,分别在VB6和VS2008 C#中实现回调,通过记日志发现:
COM组件发起事件 ——> VB6回调函数被调用,耗时1ms
COM组件发起事件 ——> C# 回调函数被调用,耗时7ms~10ms
.Net对COM的支持这么差劲吗?耗时差别这么大!有办法将COM事件触发C#回调的时间缩短吗?
[解决办法]
这个问题没人关注吗?
[解决办法]
连接点有点慢~我用js也是如此
[解决办法]
关键是老平台一点不慢,.Net下很慢
[解决办法]
没办法
[解决办法]
自己找到问题了
1、COM组件如果是双重接口(dual),COM连接点事件触发VB6和VS2008 C#回调函数确实有差异,VB6的回调函数响应会快3ms左右。非双重接口的COM组件没这个问题
2、无论是VB6还是VS2008 C#,调用COM组件函数交互都比较耗时,即使COM提供一个函数仅仅返回一个int型值,也要消耗至少1ms的时间,第一个贴中C#记录的时间比VB6长很多,就是因为C#回调函数中与COM交互了多次后才记的日志,这点之前没想到
无论如何,问题解决,谢谢关注
[解决办法]
没办法,因为托管的原因。