Levi.Lu
Levi.Lu
> 有可以测试复现的例子吗?这个错误信息很奇怪,System.Data.SQLite并不是更新程序依赖的问价。 我的项目是CefSharp的,谷歌浏览器用到了SQLite,项目本身也用到了SQLite, 我想找到报错的点,但是我发现用github上的源码,每次执行到启动外部进程后,只执行完BeginCheckUpdateInProcess 就不执行后面的了,我看后面正常应该要弹窗确认,但是那个没弹出来。我怀疑是杀进程,可能cefsharp的进程杀不掉导致
我找到卡死的原因了。我用的是github上master分支的源码,在拉起的独立更新进程的updater.static.cs的Instance_UpdatesFound方法中,没有判断当前是不是在独立更新线程中,后面继续执行了showuiform导致死循环了。也就是没有触发在abstractupdatebase中的onupdatefound
另外还发现原来杀进程的方法在win10上已经不能用了,那个hasexited 始终是返回的true,我给注释掉了,不判断,强制调用kill了。
> 我这win10,打断点,还是编译后运行, 输出日志,都显示返回的true, 我是winform , 里面有cefsharp做的界面,也许和这个有关。多次测试都是显示返回的true,而且另外同事的机器上也是,原因不明,我现在改成直接强行kill 就过了这个点
> > 我找到卡死的原因了。我用的是github上master分支的源码,在拉起的独立更新进程的updater.static.cs的Instance_UpdatesFound方法中,没有判断当前是不是在独立更新线程中,后面继续执行了showuiform导致死循环了。也就是没有触发在abstractupdatebase中的onupdatefound > > ShowUiForm方法会尽量把窗体调度到UI线程上执行。 其实二次弹窗是没必要的,从产品角度上来讲,因为最开始在winform 里面已经检测更新,弹出窗体了,用户点立即更新,这个时候拉起的新线程应该直接更新就行了,无需再次确认。
我不太懂C#,所以我的解决方案就是把那块代码给注释了,自己编译了DLL来用。我也是用webview了 Ninety ***@***.***> 于2022年11月11日周五 17:47写道: > 另外还发现原来杀进程的方法在win10上已经不能用了,那个hasexited 始终是返回的true,我给注释掉了,不判断,强制调用kill了。 > > 这个方法始终返回true?不应该吧。我开发机从win10到win11,没发现过这个问题。 > > 哈哈, > > 我和你一样,也是使用了浏览器内核,我用的是CefGlue > > 这个问题,我也频繁出现,早就给作者反馈过,但作者没有认可我的情况。 > > 没有办法,只能我自己来,以下是我自己修改的版本: 8ab83f3 > > > 同样遇到这个问题,发现只要嵌入了webview就会有,这个有完成的解决代码吗 > >...
apple/verify_model.go 中的结构体:VerifyRequest的Password和ExcludeOldTranscations两个属性在应用内购非订阅场景下是不需要的,不能传,哪怕传空字符串和false都不行,传了苹果接口会报错,返回21003。所以在最后json序列化成字符串传给苹果时,需要做判断的,空的时候不要传。
swoole也可以开启多worker, 如果把db redis都换了,那么仅仅是用yii的路由功能了,用YII的意义就没有了,不如自己实现简单的MVC了,如果直接改yii2 核实 ,改动会比较大,后续升级会很 麻烦,我们项目中也考虑过协程,但是考虑到团队成员能力不一,所以没实施,目前生产使用的是类php-fpm方式,开启了128个worker
改动太大了, 对开发者还是有感的,用不了原生的PDO安全特性了,需要开发者严格限制数据格式,做纯内网系统,或者有强团队规则可以考虑。