Код: Выделить всё
public interface IBroadcastHub
{
Task CurrentTimeAsync(DateTimeOffset time);
}
public sealed class StrongBroadcastHub : Hub
{
}
public sealed class StrongHubWrapper : IBroadcastHub
{
private readonly IHubContext _context;
public StrongHubWrapper(IHubContext context)
{
this._context = context;
}
public Task CurrentTimeAsync(DateTimeOffset time)
{
Console.WriteLine($"Sending time to");
return _context.Clients.All.CurrentTimeAsync(time);
}
}
Проблема — это только мои личные предпочтения — заключается в том, что я хотел бы вызвать CurrentTimeAsync в коде C#, но представить его миру как «Hello» или что-то еще.
Я прочитал документацию Microsoft, но не могу справиться для достижения этой цели - всякий раз, когда я использую строго типизированный концентратор, метод SendAsync скрыт, и когда я использую общий хаб, он все равно не работает (кажется, клиенты ничего не получают). Как здесь:
Код: Выделить всё
public sealed class GenericBroadcastHub : Hub
{
}
public sealed class DynamicHubWrapper : IBroadcastHub
{
private readonly IHubContext _context;
public DynamicHubWrapper(IHubContext context)
{
this._context = context;
}
public Task CurrentTimeAsync(DateTimeOffset time)
{
Console.WriteLine($"Sending time to");
return _context.Clients.All.SendAsync(Methods.ReceiveMessage, time);
}
}
Подробнее здесь: https://stackoverflow.com/questions/777 ... -c-sharp-c