in wvd-templates/diagnostics-sample/src/MSFT.WVD.Diagnostics.Common/Services/UserSessionService.cs [103:119]
public async Task<string> LogOffUserSession(string accessToken, LogOffUserQuery logOffUserQuery)
{
_logger.LogInformation($"Enter into service call to log off user session of {logOffUserQuery.sessionId}");
var key = logOffUserQuery;
var result = await _cache.GetOrCreateAsync(key, async entry =>
{
var url = string.Empty;
var Content = new StringContent(JsonConvert.SerializeObject(logOffUserQuery), Encoding.UTF8, "application/json");
url = $"{_brokerUrl}RdsManagement/V1/TenantGroups/{logOffUserQuery.tenantGroupName}/Tenants/{logOffUserQuery.tenantName}/HostPools/{logOffUserQuery.hostPoolName}/SessionHosts/{logOffUserQuery.sessionHostName}/Sessions/{logOffUserQuery.sessionId}/actions/logoff-user";
var reply = await PostRequest(url, JsonConvert.SerializeObject(logOffUserQuery), accessToken).ConfigureAwait(false);
// Set cache expiration
entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(2);
return reply;
}).ConfigureAwait(false);
return result;
}