ThinkingHome.DeviceModel.Remoting.ProxyClient
ThinkingHome.DeviceModel.Remoting.ProxyClient
Connector Class
Домашняя сторона ремоутинга: SignalR-клиент, подключающийся к прокси и оборачивающий локальный IDeviceHost. Обрабатывает вызовы прокси (GetDevices/Query/Execute → локальный хост), пушит изменения (Changed → Report) и генерирует/проверяет OTP привязки (состояние OTP живёт здесь, на хосте — прокси остаётся stateless). Идентичность — в JWT из accessTokenProvider; доставку OTP даёт потребитель через IOtpDelivery.
public sealed class Connector : System.IAsyncDisposableInheritance System.Object → Connector
Implements System.IAsyncDisposable
Constructors
Connector(IDeviceHost, IOtpDelivery, string, Func<Task<string>>) Constructor
Создаёт коннектор поверх локального хоста; url — адрес хаба прокси (…/hub), accessTokenProvider отдаёт JWT коннектора.
public Connector(ThinkingHome.DeviceModel.IDeviceHost host, ThinkingHome.DeviceModel.Remoting.ProxyClient.IOtpDelivery otpDelivery, string url, System.Func<System.Threading.Tasks.Task<string?>>? accessTokenProvider=null);Parameters
host IDeviceHost
otpDelivery IOtpDelivery
url System.String
accessTokenProvider System.Func<System.Threading.Tasks.Task<System.String>>
Properties
Connector.State Property
Текущее состояние соединения с прокси.
public Microsoft.AspNetCore.SignalR.Client.HubConnectionState State { get; }Property Value
Microsoft.AspNetCore.SignalR.Client.HubConnectionState
Methods
Connector.DisposeAsync() Method
Отписаться от хоста и освободить соединение.
public System.Threading.Tasks.ValueTask DisposeAsync();Implements DisposeAsync()
Returns
System.Threading.Tasks.ValueTask
Connector.StartAsync(CancellationToken) Method
Подключиться к прокси и начать пушить изменения (дальше переподключается автоматически).
public System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken ct=default(System.Threading.CancellationToken));Parameters
ct System.Threading.CancellationToken
Returns
Connector.StopAsync(CancellationToken) Method
Отключиться от прокси и перестать пушить изменения.
public System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken ct=default(System.Threading.CancellationToken));Parameters
ct System.Threading.CancellationToken