从 ArcGIS Online 获取令牌过期时间
Get token expiration time From ArcGIS Online
我正在使用以下方法登录 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
那么我如何根据这个 long 值知道我的令牌何时到期?
返回的值是令牌的到期时间,以毫秒为单位,自 1970 年 1 月 1 日(UTC)起。您可以通过
将其转换为当地时间
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return epoch.AddMilliseconds(longValue).ToLocalTime();
我正在使用以下方法登录 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
那么我如何根据这个 long 值知道我的令牌何时到期?
返回的值是令牌的到期时间,以毫秒为单位,自 1970 年 1 月 1 日(UTC)起。您可以通过
将其转换为当地时间var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return epoch.AddMilliseconds(longValue).ToLocalTime();