|
本帖最后由 镇坛道德标杆 于 2017-11-21 14:22 编辑
1、Microsoft.ScriptControl:
基本支持宽字符,但是,方法名会被转换成 ANSI,所以如果是这样的代码:
- function 欢迎使用✧•̀ㅂ•́()
- {
- return "hello✧•̀ㅂ•́";
- }
复制代码
如果想用什么 JS 调试工具读取这个方法名基本是没辙的,除非用一些变通的方法。
但是奇妙的是执行又支持宽字符,而且可以执行成功,说明内码确实是某种 UTF,但是唯独方法名被转了 ANSI。
有人可能会说你用易自带的对象,会不会是它的锅?
NO,我自然是精确地尝试过才会这么下决断的。
2、拨号:
拨号频繁有时候会卡死,卡在“正在断开”或者“正在连接”,有的时候只能重启解决。(没有遇到过的可以跳过这一条了)
和我熟点会知道我从开始接触编程就在试图解决这个问题了,那我现在说下结论,无解(≈ 微软的 "BUG"。)。
我写过大量的代码来解决它,Remote Access Service 相关的所有函数、回调包括常量和结构体全都去翻 MSDN 实现过一遍。
测试拨号次数近百万次(VPS/V|P|N/派克斯/ADSL,动态的/服务器的/家用宽带的,移动的/联通的/电信的)
我只能说无解。
当然,和很多问题一样,有变通的方法来解决,我这里只是针对 RasDial 和 RasHangUp 这两个函数。
RasHangUp 是一个设计得像 CloseHandle 一样的函数,很粗暴,而且简洁到简陋,所以你无法知道资源是否真的已经释放干净。
有人说 RasGetXXXStatus,其实也一样,只是减少概率,但并不能精准判断,因为就算返回了空闲的 Statu,也可能依然没有释放干净。
它也没有像 RasDial 那样提供回调,所以这个函数我觉得是万恶之源。(侧面证明延时大法好,不过同样也只是变通)
=================================
刚起床随便写点,这两个问题是无论什么语言的,有觉得说得不对的可以跟贴反驳(第一个复现很简单,第二个复现复杂,但也不是不可以,我也很支持 talk is cheap)。
后面再更新。
|
评分
-
查看全部评分
|