2015-04-20 60 views
1

我使用下面的方法登錄到ArcGIS門戶網站,並獲得爲gettoken方法的令牌獲得令牌的到期時間從ArcGIS Online的

public static IArcGISSingleSignon SingleSignon 
     { 
      get 
      { 
       if (_singleSignon == null) 
        _singleSignon = new ESRI.ArcGIS.SystemUI.ArcGISSingleSignonClass(); 
       return _singleSignon; 
      } 
     } 

internal static void SignIn() 
     { 
      string bsToken = string.Empty, bsReferrer = string.Empty, bsUser = string.Empty; 
      int IExpiration = 0; 
      try 
      { 
       SingleSignon.GetToken(0, ref bsToken, ref bsReferrer, ref IExpiration, ref bsUser); 
      } 
      catch (System.Runtime.InteropServices.COMException) 
      { } 
     } 

文件說,這對IExpiration

lExpiration is a parameter of type long 

所以當我的令牌即將到期時,如何從這個長期價值中知道?

回答

2

返回的值是以1970年1月1日(UTC)爲單位的令牌的到期時間(以毫秒爲單位)。您可以通過做它將它轉換爲當地時間

var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); 
return epoch.AddMilliseconds(longValue).ToLocalTime();