Как использовать имя метода SignalR, отличное от фактического имени метода в коде C#?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать имя метода SignalR, отличное от фактического имени метода в коде C#?

Сообщение Anonymous »

Рассмотрим такой код на стороне сервера — он грязный, но работает нормально:

Код: Выделить всё

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, все в порядке.
Проблема — это только мои личные предпочтения — заключается в том, что я хотел бы вызвать 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);
}
}
Итак, как мне добиться этого эффекта — иметь метод A в коде C# и предоставить его под именем B? Что-то подобное работает для контроллеров ASP.Net, методы контроллеров работают без проблем.

Подробнее здесь: https://stackoverflow.com/questions/777 ... -c-sharp-c
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»