瀏覽代碼

Tweaked revalidation logic to improve connection stability

frankvandenbos 2 月之前
父節點
當前提交
6bf539eed4
共有 1 個文件被更改,包括 15 次插入0 次删除
  1. 15 0
      prs.mobile.new/PRS.Mobile/Main/DataModel.cs

+ 15 - 0
prs.mobile.new/PRS.Mobile/Main/DataModel.cs

@@ -5,6 +5,7 @@ using System.Threading;
 using System.Threading.Tasks;
 using Comal.Classes;
 using InABox.Clients;
+using InABox.Configuration;
 using InABox.Core;
 using InABox.Mobile;
 using InABox.Rpc;
@@ -489,6 +490,20 @@ namespace PRS.Mobile
                             }
                         }
                         status = ClientFactory.Validate(ClientFactory.SessionID);
+                        if (status != ValidationStatus.VALID)
+                        {
+                            ClientFactory.InvalidateUser();
+                            var settings = new LocalConfiguration<MobileDatabaseSettings>().LoadAll().Values
+                                .FirstOrDefault(x => x.IsDefault);
+                            if (settings != null)
+                            {
+                                var userid = settings.UserID;
+                                var password = settings.Password;
+                                status = ClientFactory.Validate(userid, password);
+                                if (status != ValidationStatus.VALID)
+                                    break;
+                            }
+                        }
                     }
                     catch (Exception ex)
                     {