• Как лучше связать frontend с backend-ом на c#?

    summoner2015
    @summoner2015
    Backend всему голова
    Неплохо было бы сделать rest api, на стороне сервера, и стучать в него с клиентской части (html+js+ajax, или разобраться с vuejs и использовать его).
    В api сделать:
    1. ручку для постановки задачи в очередь (rabbitmq, kafka, db)
    2. ручку для проверки статуса задачи
    3. ручку для получения результатов, если задача в статусе "выполнено"

    Соответственно, с клиента дергать первую ручку, затем крутить прелоадер и периодически дергать вторую ручку, пока не получим нужный статус задачи, или не закончится какой-нибудь таймаут, и в конце дернуть третью ручку и поменять текущий DOM с учетом полученных данных.
    На серверной части, по идее, можно отказаться от зоопарка из php+c#, и сделать это все на чем-то одном. Сами задачи будут обрабатываться чем-то в вечном цикле, а именно - ждать пока в очереди появятся задачи и сразу брать их в работу (при необходимости запустить несколько таких воркеров, и обрабатывать задачи параллельно)
    Ответ написан
    3 комментария
  • Как лучше связать frontend с backend-ом на c#?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    чем вам не нравится net mvc, net api ?
    странички хоть на рэзоре пишите хоть на mvc, а можете и просто vue, react , angular

    Зачем PHP ????
    Ответ написан
    3 комментария
  • Как лучше связать frontend с backend-ом на c#?

    GavriKos
    @GavriKos
    Ну в целом - нормальный способ. Можно только если еще "не готово" - отсылать данные через сколько пнуть сервер еще раз. Чтобы не стучаться каждую секунду.
    Еще вариант - сокеты. Тогда сервер сам оповестит клиента.
    Ответ написан
    2 комментария
  • C# Timer - Анимация. Как уменьшить нагрузку на ЦП?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Выбрана неправильная архитектура. Судя по всему в таймерах же и осуществляется анимация? Так не делается. Почитайте про внутреннее устройство игр и игровых рендеров. Обычно заводится какой-то один таймер, который с определенной периодичностью запускается, при этом он помнит предыдущее время своего запуска и знает период. На этот таймер вешаются функции, которые при вызове получают текущее время и меняют значения переменных по определенным формулам (и чем проще формула - тем лучше) - и более ничего не делают. Непосредственно перерисовка элемента осуществляется в перезаписанном методе OnPaint - если там какая-то нестандартная отрисовка.
    Ответ написан
    4 комментария