Передать данные от сервера (asp.net) к оболочке (js/cshtml)
"сначала нужно сообщить твоему webapi о том, что произошли изменения в БД, а потом сообщить клиенту об изменениях."
Да!!!! Именно так я и нарисовала сверху.
"сообщить webApi, о том, что произошли изменения в БД, если это ms sql, это написать триггер с EXTERNAL NAME.., который является CLR-триггером и который будет делать вызов твоего WebApi по http. Но это дурно пахнет, такие вещи делаются при помощи очередей (service bus) и обработчиков очередей - этим занимаются architect-ы и опытные dev-ы."
Это как раз не мои проблемы, ибо БД я не касаюсь. А отдел, который ими занимается, к счастью, имеет спецов нужного уровня :)
"А чем, кстати, старшему коллеге web-socket-ы не понравились? Если ему они не нравятся, то предложи ему предложить альтернативное решение."
Его альтернативное решение выглядит так:
[WebInvoke(Method = "POST", UriTemplate = "datachangedtrigger/{tablename}/{primaryKey}?apiKey={apiKey}&changeType={changeType}", BodyStyle = WebMessageBodyStyle.Bare)]
[OperationContract]
void DataChangedTrigger(string apiKey,string tablename, long primaryKey, int changeType);
Погуглив, я поняла, что мне нет смысла адаптировать это решение под уже имеющуюся разработку...