我正在使用以下方法登录ArcGIS门户并获取令牌
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)
{ }
}
GetToken方法的文档说明了关于IExpiration
的内容lExpiration is a parameter of type long
那么当我的令牌即将到期时,我怎么知道这个长值呢?
答案 0 :(得分:2)
返回的值是自1970年1月1日(UTC)以来令牌的到期时间(以毫秒为单位)。您可以通过
将其转换为当地时间var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return epoch.AddMilliseconds(longValue).ToLocalTime();