diff --git a/ArchiSteamFarm/ArchiSteamFarm.csproj b/ArchiSteamFarm/ArchiSteamFarm.csproj
index f034c4db5..651be064c 100644
--- a/ArchiSteamFarm/ArchiSteamFarm.csproj
+++ b/ArchiSteamFarm/ArchiSteamFarm.csproj
@@ -79,18 +79,6 @@
..\packages\HtmlAgilityPack.1.4.9.5\lib\Net45\HtmlAgilityPack.dll
True
-
- ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll
- True
-
-
- ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll
- True
-
-
- ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll
- True
-
..\packages\Newtonsoft.Json.9.0.2-beta2\lib\net45\Newtonsoft.Json.dll
True
diff --git a/ArchiSteamFarm/WCF.cs b/ArchiSteamFarm/WCF.cs
index fab4536f9..1a9a20f69 100644
--- a/ArchiSteamFarm/WCF.cs
+++ b/ArchiSteamFarm/WCF.cs
@@ -134,33 +134,41 @@ namespace ArchiSteamFarm {
ASF.ArchiLogger.LogGenericInfo(string.Format(Strings.WCFStarting, url));
+ Uri uri;
+
try {
- ServiceHost = new ServiceHost(typeof(WCF), new Uri(url));
+ uri = new Uri(url);
+ } catch (UriFormatException e) {
+ ASF.ArchiLogger.LogGenericException(e);
+ return;
+ }
- ServiceHost.AddServiceEndpoint(
- typeof(IWCF),
- binding,
- string.Empty
- );
+ ServiceHost = new ServiceHost(typeof(WCF), uri);
- // TODO: Test metadata bits on Mono
- ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
- switch (binding.Scheme) {
- case "http":
- smb.HttpGetEnabled = true;
- break;
- case "https":
- smb.HttpsGetEnabled = true;
- break;
- case "net.tcp":
- break;
- default:
- ASF.ArchiLogger.LogGenericWarning(string.Format(Strings.WarningUnknownValuePleaseReport, nameof(binding.Scheme), binding.Scheme));
- goto case "net.tcp";
- }
+ ServiceHost.AddServiceEndpoint(
+ typeof(IWCF),
+ binding,
+ string.Empty
+ );
- ServiceHost.Description.Behaviors.Add(smb);
+ ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
+ switch (binding.Scheme) {
+ case "http":
+ smb.HttpGetEnabled = true;
+ break;
+ case "https":
+ smb.HttpsGetEnabled = true;
+ break;
+ case "net.tcp":
+ break;
+ default:
+ ASF.ArchiLogger.LogGenericWarning(string.Format(Strings.WarningUnknownValuePleaseReport, nameof(binding.Scheme), binding.Scheme));
+ goto case "net.tcp";
+ }
+ ServiceHost.Description.Behaviors.Add(smb);
+
+ try {
ServiceHost.Open();
ASF.ArchiLogger.LogGenericInfo(Strings.WCFReady);
} catch (AddressAccessDeniedException) {
diff --git a/GUI/GUI.csproj b/GUI/GUI.csproj
index b67877ddc..d86e265d9 100644
--- a/GUI/GUI.csproj
+++ b/GUI/GUI.csproj
@@ -48,18 +48,6 @@
..\packages\HtmlAgilityPack.1.4.9.5\lib\Net45\HtmlAgilityPack.dll
True
-
- ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll
- True
-
-
- ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll
- True
-
-
- ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll
- True
-
..\packages\Newtonsoft.Json.9.0.2-beta2\lib\net45\Newtonsoft.Json.dll
True