in wvd-templates/diagnostics-sample/src/MSFT.WVD.Diagnostics.Common/Services/UserSessionService.cs [86:102]
public async Task<string> SendMessage(string accessToken, SendMessageQuery sendMessageQuery)
{
_logger.LogInformation($"Enter into service call to send message to {sendMessageQuery.userPrincipalName}");
var key = sendMessageQuery;
var result = await _cache.GetOrCreateAsync(key, async entry =>
{
var url = "";
var Content = new StringContent(JsonConvert.SerializeObject(sendMessageQuery), Encoding.UTF8, "application/json");
url = $"{_brokerUrl}RdsManagement/V1/TenantGroups/{sendMessageQuery.tenantGroupName}/Tenants/{sendMessageQuery.tenantName}/HostPools/{sendMessageQuery.hostPoolName}/SessionHosts/{sendMessageQuery.sessionHostName}/Sessions/{sendMessageQuery.sessionId}/actions/send-message-user?MessageTitle={sendMessageQuery.messageTitle.ToString()}&MessageBody={sendMessageQuery.messageBody.ToString()}";
var reply = await PostRequest(url, JsonConvert.SerializeObject(sendMessageQuery), accessToken).ConfigureAwait(false);
// Set cache expiration
entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(2);
return reply;
}).ConfigureAwait(false);
return result;
}