请问winform可否实现本地客户端远程校验时效性?

时间:2022-09-12 09:17:58
客户端登录后,会校验授权信息,但是远程服务器不是特别稳定,加上客户端不排除可能会出现的各种网络问题导致与远程服务器通信异常,所以我想请问的是:

winform客户端提交的授权信息,远程服务器校验一次,如果成功后,能否实现一定时效内比如1天、3天不需要再进行校验?这样一方面避免出现通信故障,二是减轻服务器的压力---现在服务器上挂载了好多服务,有时候会死机或者反应太慢导致客户端等待时间太长甚至校验失败,现在没有权限把远程服务器升级到更高配置什么的……所以还是觉得软件能否改个设置是不是好一点?

这个思路应该是怎么样的呢? 第一次登录客户端,远程校验,如果成功,数据库字段还是用什么做个标记,下次登录客户端,先检验这个标记,如果是true就不提交远程,每次登录的时候比对最后一次成功校验的日期,过了日期以后时效重新远程校验?
如果是数据库,会不会存在如果稍微懂点数据库的人,他手动修改数据库的字段,这样造成事实上的校验成了摆设?

7 个解决方案

#1


题外话,我的结贴率不是0啊,是刚注册的账号……这是第一个帖子……

#2


5.1都放假了吧 请问winform可否实现本地客户端远程校验时效性?

#3


看楼主的帖子描述,主要是担心不稳定造成客户端登陆时校验失败,然后想通过一个标志来减少校验。
但如果你的标志“校验”也有问题怎么办?我想就算是原先的“校验”原理也不会太复杂到导致校验时间超过xxx秒吧?
说白了,就是不是很明白楼主原先的校验和标志位校验到底差别在哪?还有差多少?

#4


弱弱的问一句 你是什么样的程序?作为一个客户端程序需要使用数据库来保持数据 保存什么数据?还是说其实你的数据库在服务端 而客户端直接链接你远程服务器上是数据库?
还有你说 你服务器处理不过来 那就换服务器或者说你服务器上面写的代码有问题 直接从根源上解决问题 就好比一辆自行车 你嫌它慢 要么你就换自行车(服务器) 要么就把你的腿锻炼好(服务端代码质量) 而不是在路面上面找问题(客户端)
那么问题来了 你的用户量有多大?让你处理不过来?。。同一时间向服务器提交数据的客户端有多少个?也就是并发量?而且还是在客户端就请求那么一次 那么同一时间有多少人正在打开客户端?几十几百几千还是上万?

#5


引用 4 楼 crystal_lz 的回复:
弱弱的问一句 你是什么样的程序?作为一个客户端程序需要使用数据库来保持数据 保存什么数据?还是说其实你的数据库在服务端 而客户端直接链接你远程服务器上是数据库?还有你说 你服务器处理不过来 那就换服务器或者说你服务器上面写的代码有问题 直接从根源上解决问题 就好比一辆自行车 你嫌它慢 要么你就换自行车(服务器) 要么就把你的腿锻炼好(服务端代码质量) 而不是在路面上面找问题(客户端)
那么问题来了 你的用户量有多大?让你处理不过来?。。同一时间向服务器提交数据的客户端有多少个?也就是并发量?而且还是在客户端就请求那么一次 那么同一时间有多少人正在打开客户端?几十几百几千还是上万?



主要是服务器一般般,动不动连接不上,服务器的配置很老……上面挂载了好多网站、管理系统什么的
没那么大的并发几千上万,现在客户端用的人不多,我做的设置是:客户端每次登录后,开一个线程和远程服务器通信校验授权信息,如果正常就可以使用,不正常停止使用。现在碰到的问题是有时候服务器假死,造成客户端没有正常通信,必须把服务器给重启下,等服务器上网站测试可以正常打开,这个客户端通信才会正常。所有有没有什么好的办法解决这个问题呢?服务器暂时不好升级和更换的前提下?

#6


引用 3 楼 xuggzu 的回复:
看楼主的帖子描述,主要是担心不稳定造成客户端登陆时校验失败,然后想通过一个标志来减少校验。
但如果你的标志“校验”也有问题怎么办?我想就算是原先的“校验”原理也不会太复杂到导致校验时间超过xxx秒吧?
说白了,就是不是很明白楼主原先的校验和标志位校验到底差别在哪?还有差多少?


我也不太清楚是不是我的代码优化问题或者根本就是代码设计的问题
目前客户端使用量也不是特别特别多,但是服务器确实老,容易卡顿,有时候造成客户端无法和服务器通信,客户端检验授权标志失败就无法正常使用了

#7


程序是winform,远程服务器上的校验是用asp写的,早上用asp.net重写了,目前似乎好像还快了一点
希望能解决

#1


题外话,我的结贴率不是0啊,是刚注册的账号……这是第一个帖子……

#2


5.1都放假了吧 请问winform可否实现本地客户端远程校验时效性?

#3


看楼主的帖子描述,主要是担心不稳定造成客户端登陆时校验失败,然后想通过一个标志来减少校验。
但如果你的标志“校验”也有问题怎么办?我想就算是原先的“校验”原理也不会太复杂到导致校验时间超过xxx秒吧?
说白了,就是不是很明白楼主原先的校验和标志位校验到底差别在哪?还有差多少?

#4


弱弱的问一句 你是什么样的程序?作为一个客户端程序需要使用数据库来保持数据 保存什么数据?还是说其实你的数据库在服务端 而客户端直接链接你远程服务器上是数据库?
还有你说 你服务器处理不过来 那就换服务器或者说你服务器上面写的代码有问题 直接从根源上解决问题 就好比一辆自行车 你嫌它慢 要么你就换自行车(服务器) 要么就把你的腿锻炼好(服务端代码质量) 而不是在路面上面找问题(客户端)
那么问题来了 你的用户量有多大?让你处理不过来?。。同一时间向服务器提交数据的客户端有多少个?也就是并发量?而且还是在客户端就请求那么一次 那么同一时间有多少人正在打开客户端?几十几百几千还是上万?

#5


引用 4 楼 crystal_lz 的回复:
弱弱的问一句 你是什么样的程序?作为一个客户端程序需要使用数据库来保持数据 保存什么数据?还是说其实你的数据库在服务端 而客户端直接链接你远程服务器上是数据库?还有你说 你服务器处理不过来 那就换服务器或者说你服务器上面写的代码有问题 直接从根源上解决问题 就好比一辆自行车 你嫌它慢 要么你就换自行车(服务器) 要么就把你的腿锻炼好(服务端代码质量) 而不是在路面上面找问题(客户端)
那么问题来了 你的用户量有多大?让你处理不过来?。。同一时间向服务器提交数据的客户端有多少个?也就是并发量?而且还是在客户端就请求那么一次 那么同一时间有多少人正在打开客户端?几十几百几千还是上万?



主要是服务器一般般,动不动连接不上,服务器的配置很老……上面挂载了好多网站、管理系统什么的
没那么大的并发几千上万,现在客户端用的人不多,我做的设置是:客户端每次登录后,开一个线程和远程服务器通信校验授权信息,如果正常就可以使用,不正常停止使用。现在碰到的问题是有时候服务器假死,造成客户端没有正常通信,必须把服务器给重启下,等服务器上网站测试可以正常打开,这个客户端通信才会正常。所有有没有什么好的办法解决这个问题呢?服务器暂时不好升级和更换的前提下?

#6


引用 3 楼 xuggzu 的回复:
看楼主的帖子描述,主要是担心不稳定造成客户端登陆时校验失败,然后想通过一个标志来减少校验。
但如果你的标志“校验”也有问题怎么办?我想就算是原先的“校验”原理也不会太复杂到导致校验时间超过xxx秒吧?
说白了,就是不是很明白楼主原先的校验和标志位校验到底差别在哪?还有差多少?


我也不太清楚是不是我的代码优化问题或者根本就是代码设计的问题
目前客户端使用量也不是特别特别多,但是服务器确实老,容易卡顿,有时候造成客户端无法和服务器通信,客户端检验授权标志失败就无法正常使用了

#7


程序是winform,远程服务器上的校验是用asp写的,早上用asp.net重写了,目前似乎好像还快了一点
希望能解决