Dispose of WebResponses. Use VsWhere.

This commit is contained in:
Jared 2020-12-03 19:20:15 -08:00 committed by Jared Goodwin
parent 2b94e47bae
commit afc302cd6f
7 changed files with 18 additions and 14 deletions

View File

@ -197,8 +197,10 @@ namespace Remotely.Agent.Installer.Win.Services
{
await sw.WriteAsync(Serializer.Serialize(setupOptions));
}
var response = await wr.GetResponseAsync() as HttpWebResponse;
Logger.Write($"Create device response: {response.StatusCode}");
using (var response = await wr.GetResponseAsync() as HttpWebResponse)
{
Logger.Write($"Create device response: {response.StatusCode}");
}
}
}
catch (WebException ex) when ((ex.Response is HttpWebResponse response) && response.StatusCode == HttpStatusCode.BadRequest)
@ -284,8 +286,10 @@ namespace Remotely.Agent.Installer.Win.Services
var wr = WebRequest.CreateHttp($"{serverUrl}/Downloads/Remotely-Win10-{Platform}.zip");
wr.Method = "Head";
var response = (HttpWebResponse)await wr.GetResponseAsync();
FileIO.WriteAllText(Path.Combine(InstallPath, "etag.txt"), response.Headers["ETag"]);
using (var response = (HttpWebResponse)await wr.GetResponseAsync())
{
FileIO.WriteAllText(Path.Combine(InstallPath, "etag.txt"), response.Headers["ETag"]);
}
ZipFile.ExtractToDirectory(targetFile, tempDir);
var fileSystemEntries = Directory.GetFileSystemEntries(tempDir);

View File

@ -238,7 +238,7 @@ namespace Remotely.Agent.Services
{
var url = $"{ConnectionInfo.Host}/API/FileSharing/{fileID}";
var wr = WebRequest.CreateHttp(url);
var response = await wr.GetResponseAsync();
using var response = await wr.GetResponseAsync();
var cd = response.Headers["Content-Disposition"];
var filename = cd
.Split(";")

View File

@ -151,7 +151,7 @@ namespace Remotely.Agent.Services
{
await sw.WriteAsync(JsonSerializer.Serialize(result));
}
await webRequest.GetResponseAsync();
(await webRequest.GetResponseAsync())?.Dispose();
}
}
}

View File

@ -30,7 +30,7 @@ namespace Remotely.Agent.Services
var url = $"{connectionInfo.Host}/API/FileSharing/{fileID}";
var wr = WebRequest.CreateHttp(url);
var response = await wr.GetResponseAsync();
using var response = await wr.GetResponseAsync();
var cd = response.Headers["Content-Disposition"];
var filename = cd.Split(";").FirstOrDefault(x => x.Trim().StartsWith("filename")).Split("=")[1];
using var rs = response.GetResponseStream();

View File

@ -80,7 +80,7 @@ namespace Remotely.Agent.Services
var wr = WebRequest.CreateHttp(fileUrl);
wr.Method = "Head";
wr.Headers.Add("If-None-Match", lastEtag);
var response = (HttpWebResponse)await wr.GetResponseAsync();
using var response = (HttpWebResponse)await wr.GetResponseAsync();
if (response.StatusCode == HttpStatusCode.NotModified)
{
Logger.Write("Service Updater: Version is current.");
@ -135,7 +135,7 @@ namespace Remotely.Agent.Services
serverUrl + $"/api/AgentUpdate/DownloadPackage/win-{platform}/{downloadId}",
zipPath);
await WebRequest.CreateHttp(serverUrl + $"/api/AgentUpdate/ClearDownload/{downloadId}").GetResponseAsync();
(await WebRequest.CreateHttp(serverUrl + $"/api/AgentUpdate/ClearDownload/{downloadId}").GetResponseAsync()).Dispose();
foreach (var proc in Process.GetProcessesByName("Remotely_Installer"))
@ -174,7 +174,7 @@ namespace Remotely.Agent.Services
serverUrl + $"/api/AgentUpdate/DownloadPackage/linux/{downloadId}",
zipPath);
await WebRequest.CreateHttp(serverUrl + $"/api/AgentUpdate/ClearDownload/{downloadId}").GetResponseAsync();
(await WebRequest.CreateHttp(serverUrl + $"/api/AgentUpdate/ClearDownload/{downloadId}").GetResponseAsync()).Dispose();
Logger.Write("Launching installer to perform update.");

View File

@ -75,7 +75,7 @@ namespace Remotely.Server.API
{
sw.Write(alertOptions.ApiRequestBody);
}
var response = (HttpWebResponse)httpRequest.GetResponse();
using var response = (HttpWebResponse)httpRequest.GetResponse();
DataService.WriteEvent($"Alert API Response Status: {response.StatusCode}.", orgID);
}
catch (Exception ex)

View File

@ -24,9 +24,9 @@ param (
$ErrorActionPreference = "Stop"
$MSBuildPath = (Get-ChildItem -Path "${env:ProgramFiles(x86)}\Microsoft Visual Studio\" -Recurse -Filter "MSBuild.exe" -File | ForEach-Object {
[System.Diagnostics.FileVersionInfo]::GetVersionInfo($_.FullName)
} | Sort-Object -Property FileVersion -Descending | Select-Object -First 1).FileName
$InstallerDir = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer"
$VsWhere = "$InstallerDir\vswhere.exe"
$MSBuildPath = (&"$VsWhere" -latest -find "**\Current\Bin\MSBuild.exe").Trim()
$Root = (Get-Item -Path $PSScriptRoot).Parent.FullName
$SignAssemblies = $false