in wvd-templates/diagnostics-sample/src/MSFT.WVD.Diagnostics/Controllers/HomeController.cs [40:87]
public async Task<IActionResult> Index()
{
var role = new RoleAssignment();
var messsage = "";
if (HttpContext.Session.Get<RoleAssignment>("SelectedRole") == null)
{
var roleAssignments = await InitialzeRoleInfomation();
HttpContext.Session.Set("WVDRoles", roleAssignments);
HttpContext.Session.Set<RoleAssignment>("SelectedRole", roleAssignments[0]);
//get queries from xml
_logger.LogInformation($"Get Log analytic queries from from xml file");
XmlDocument xDoc = new XmlDocument();
xDoc.PreserveWhitespace = false;
var path = _fileProvider.GetFileInfo("/metrics.xml");
if (path.Exists)
{
try
{
xDoc.Load(path.PhysicalPath);
_logger.LogInformation("save Log analytic queries in session storage ");
HttpContext.Session.Set<XmlDocument>("LogAnalyticQuery", xDoc);
}
catch (System.Xml.XmlException ex)
{
_logger.LogError($"Failed to load 'metrics.xml' .{ex.Message}");
messsage = $"Failed to load 'metrics.xml' .{ex.Message}";
}
}
else
{
string DirectoryNme = _hostingEnvironment.ContentRootPath;
messsage = $"VM performance queries file does not exist or invalid format. Please upload/correct 'metrics.xml' file to '{DirectoryNme}' .";
_logger.LogWarning("Log analytic query file is not exist.");
}
}
role = HttpContext.Session.Get<IEnumerable<RoleAssignment>>("WVDRoles").FirstOrDefault();
return View(new HomePageViewModel()
{
SelectedRole = role,
Message = messsage,
TenantGroups= GetTenantGroups(),
ShowDialog = HttpContext.Session.GetString("SelectedTenantGroupName") == null
});
}