Skip to content

ThinkingHome.DeviceModel.Remoting.ProxyClient

ThinkingHome.DeviceModel.Remoting.ProxyClient

Connector Class

Домашняя сторона ремоутинга: SignalR-клиент, подключающийся к прокси и оборачивающий локальный IDeviceHost. Обрабатывает вызовы прокси (GetDevices/Query/Execute → локальный хост), пушит изменения (Changed → Report) и генерирует/проверяет OTP привязки (состояние OTP живёт здесь, на хосте — прокси остаётся stateless). Идентичность — в JWT из accessTokenProvider; доставку OTP даёт потребитель через IOtpDelivery.

csharp
public sealed class Connector : System.IAsyncDisposable

Inheritance System.Object → Connector

Implements System.IAsyncDisposable

Constructors

Connector(IDeviceHost, IOtpDelivery, string, Func<Task<string>>) Constructor

Создаёт коннектор поверх локального хоста; url — адрес хаба прокси (…/hub), accessTokenProvider отдаёт JWT коннектора.

csharp
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

Текущее состояние соединения с прокси.

csharp
public Microsoft.AspNetCore.SignalR.Client.HubConnectionState State { get; }

Property Value

Microsoft.AspNetCore.SignalR.Client.HubConnectionState

Methods

Connector.DisposeAsync() Method

Отписаться от хоста и освободить соединение.

csharp
public System.Threading.Tasks.ValueTask DisposeAsync();

Implements DisposeAsync()

Returns

System.Threading.Tasks.ValueTask

Connector.StartAsync(CancellationToken) Method

Подключиться к прокси и начать пушить изменения (дальше переподключается автоматически).

csharp
public System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken ct=default(System.Threading.CancellationToken));

Parameters

ct System.Threading.CancellationToken

Returns

System.Threading.Tasks.Task

Connector.StopAsync(CancellationToken) Method

Отключиться от прокси и перестать пушить изменения.

csharp
public System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken ct=default(System.Threading.CancellationToken));

Parameters

ct System.Threading.CancellationToken

Returns

System.Threading.Tasks.Task

Опубликовано под лицензией MIT