|
@@ -22,6 +22,7 @@ using InABox.Database;
|
|
|
using InABox.Database.SQLite;
|
|
|
using InABox.DynamicGrid;
|
|
|
using InABox.IPC;
|
|
|
+using InABox.Rpc;
|
|
|
using InABox.Wpf.Editors;
|
|
|
using InABox.WPF;
|
|
|
using PRSClasses;
|
|
@@ -369,20 +370,22 @@ namespace PRSServer
|
|
|
{
|
|
|
while (true)
|
|
|
{
|
|
|
- var client = IPCClientFactory.GetClient(DatabaseServerProperties.GetPipeName(key));
|
|
|
+ var transport = new RpcClientPipeTransport(DatabaseServerProperties.GetPipeName(key));
|
|
|
|
|
|
- var response = client.Send(IPCMessage.Info(new InfoRequest()), 10_000).GetResponse<InfoResponse>();
|
|
|
- if (response.Status != StatusCode.Error)
|
|
|
+ try
|
|
|
{
|
|
|
- SecureConnections[key] = response.Info.IsHTTPS;
|
|
|
+ var response = transport.Send<RpcInfoCommand, RpcInfoParameters, RpcInfoResult>(new RpcInfoParameters());
|
|
|
+ SecureConnections[key] = response.Info?.IsHTTPS ?? false;
|
|
|
break;
|
|
|
}
|
|
|
- else
|
|
|
+ catch
|
|
|
{
|
|
|
SecureConnections.Remove(key);
|
|
|
var service = GetService(key);
|
|
|
if (service is null || service.Status != ServiceControllerStatus.Running)
|
|
|
+ {
|
|
|
break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
Dispatcher.Invoke(() =>
|
|
@@ -1087,7 +1090,9 @@ namespace PRSServer
|
|
|
currentServerPort = null;
|
|
|
currentServerURL = null;
|
|
|
currentServerName = pipeName;
|
|
|
- ClientFactory.SetClientType(typeof(IPCClient<>), Platform.Server, CoreUtils.GetVersion(), pipeName);
|
|
|
+
|
|
|
+ var transport = new RpcClientPipeTransport(pipeName);
|
|
|
+ ClientFactory.SetClientType(typeof(RpcClient<>), Platform.Server, CoreUtils.GetVersion(), transport);
|
|
|
using (new WaitCursor())
|
|
|
{
|
|
|
if (!Client.Ping())
|