Asp.Net Web Api2 + SignalR

385
23 января 2017, 17:18

Подскажите плиз.

Есть проект почтового сервера. Нужно реализовать работу SignalR в проекте. В Стартапе прописано

app.MapSignalR();

Создан Хаб

[HubName("MailHub")]
public class MailHub<THub>: Hub
    where THub : IHub
{
    public void SendMessage (Mail message)
    {
        Clients.Caller.addMessage(message);
    }
}

Дальше как обычно есть контроллер Mail, который будет реализовывать методы отправки письма и прочие методы. И вот не знаю, как это все должно работать с SignalR. Сейчас MailController выглядит так:

 [Authorize]
[RoutePrefix("api/mail")]
public class MailController : ApiController
{
    private readonly MailStore<Mail> _mail;
    public MailController()
    {
        _mail = new MailStore<Mail>(MongoUtil<Mail>.GetDefaultConnectionString());
    }
    [HttpPost]
    [Route("send")]
    public async Task<IHttpActionResult> SendMessage(Mail message)
    {
        var hubContext = GlobalHost.ConnectionManager.GetHubContext<MailHub<IHub>>();
        if (hubContext != null)
        {
            if (!ModelState.IsValid)
                return BadRequest(ModelState);
            var currentUser = User.Identity.Name;
            var sendMessage = new Mail
            {
                Subject = message.Subject,
                Sender = message.Sender,
                Receiver = message.Receiver,
                Message = message.Message
            };
            await _mail.CreateAsync(sendMessage);
          //  hubContext.Clients.Clien....;
            /*   if (!result.Succeeded)
               {
                   return BadRequest(ModelState);
               }
               */
            return Ok();
        }
        return BadRequest();
    }
}

Т.е. это метод который просто записывает письмо в бд, как сюда пристроить SignalR? В общем, если можно поправьте код, чтобы все это работало правильно. Большое спасибо!

READ ALSO
Клиент серверный диалог

Клиент серверный диалог

Вопрос по TcpClientНапример, один TcpClient отправляет какое то сообщение другому

325
Не меняется цвет текста в строке DataGridView

Не меняется цвет текста в строке DataGridView

Пытаюсь поменять цвет текст в строке, но при загрузке формы строка моргнет нужным цветом и опять станет цвет по умолчанию

476
Объединение массивов байтов

Объединение массивов байтов

Есть необходимость присоединять один массив байт к другому (много раз подряд)

455
Можно ли в произвольном тексте найти все, что закодировано в Base64?

Можно ли в произвольном тексте найти все, что закодировано в Base64?

Например, имеется произвольный текст, где могут встречаться последовательности, которые закодированы в base64

264