• Почему в моем примере не получается задать button.onclick?

    rockon404
    @rockon404
    Frontend Developer
    container.innerHTML += "<br />";
    Во время этого вызова происходит преобразование innerHTML в строку, конкатенация, удаление всех потомков узла container, анализ получившейся строки и создание новых элементов-потомков.
    Так как все элементы узла container заменяются новыми, то слушатели, которые вы вешали на потомков узла до вызова, естественно, не сохраняются.
    Можно заменить на:
    var br = document.createElement('br');      
    container.appendChild(br);
    Ответ написан
    2 комментария
  • Почему не корректно работает функция append?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что вы изменяете не исходный текст страницы, а уже сформированное DOM-дерево. При добавлении тэга <table> браузер встраивает его в дерево автоматически закрывая завершающим </table>. Соответственно, следующие добавления идут после узла table.
    Ответ написан
    Комментировать
  • Почему не корректно работает функция append?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    var grid = $("#grid");
    var table = $('<table>'), tr, td;
    grid.append(table);
    
    for (var height = 0; height < 16; height++) {
          tr = $('<tr>');
          for (var width = 0; width < 10; width++) {
                tr.append('<td></td>');
          }
          table.append(tr);
    }


    но вариант со строками будет быстрее работать за счет единственного изменения DOM.
    Ответ написан
    1 комментарий
  • Как научить сервер IIS выполнять проверки по таймеру?

    dasha_programmist
    @dasha_programmist
    ex Software Engineer at Reddit TS/React/GraphQL/Go
    примерно так:
    public class JobHost : IRegisteredObject
        {
            private readonly object _lock = new object();
            private bool _shuttingDown;
    
            public JobHost()
            {
                HostingEnvironment.RegisterObject(this);
            }
    
            public void Stop(bool immediate)
            {
                lock (_lock)
                {
                    _shuttingDown = true;
                }
                HostingEnvironment.UnregisterObject(this);
            }
    
            public void DoWork(Action work)
            {
                lock (_lock)
                {
                    if (_shuttingDown)
                    {
                        return;
                    }
                    work();
                }
            }
        }
    
    public static class MyHelper
        {
            private static readonly Timer _timer = new Timer(OnTimerElapsed);
            private static readonly JobHost _jobHost = new JobHost();
    
            public static void Start()
            {
                _timer.Change(TimeSpan.Zero, TimeSpan.FromHours(1));
            }
    
            public static void OnTimerElapsed(object sender)
            {
                _jobHost.DoWork(() =>
                {
                    // action ...
                });
            }
        }


    ну и в global.asax прописать:
    public class Application : HttpApplication
        {
            protected void Application_Start()
            {
                // ....
                MyHelper.Start();
            }
        }
    Ответ написан
    2 комментария
  • Как научить сервер IIS выполнять проверки по таймеру?

    EreminD
    @EreminD
    Кое-что умею
    Действительно, самый простой вариант - консолька, которая ходит на сайты, собирает все новости и пишет в нужное хранилище. Ну и запуск по расписанию
    Служба - вариант чуть сложнее, но правильнее.

    А еще, посмтрите сразу, нет ли у информациионных порталов, на которые вы натравите бот, каких-нибудь API?
    Такой вариант будет еще лучше.
    Ответ написан
    6 комментариев
  • Как научить сервер IIS выполнять проверки по таймеру?

    @dmitryKovalskiy
    программист средней руки
    Я бы для таких задач вообще не использовал веб-сервер(у него своих задач хватает), а писал бы настольного бота(или службу), которая бы собирала и сохраняла данные в ваш источник.
    Ответ написан
    1 комментарий
  • Как минимизировать нагрузку на сервер для чата на ASP.NET MVC с SignalR?

    @kttotto
    пофиг на чем писать
    У меня точно такой же вопрос стоит уже вторую неделю, только в другом контексте. Мониторинг GPS трекеров. Есть серверная часть, которая по UDP протоколу получает сообщение от трекера и которая так же имеет доступ к БД, чтоб понять кому принадлежит трекер, затем сообщение уходит на хаб SignalR для отсылки веб-клиенту. Получается что у меня два конекшина к базе, от сервера с сайтом (ASP.NET MVC) и от сервера с хабом. И тоже думаю как сделать одно соединение, чтоб базу меньше напрягать, и тоже кручусь вокруг WCF или Web API.
    Ответ написан
    Комментировать
  • Как минимизировать нагрузку на сервер для чата на ASP.NET MVC с SignalR?

    dasha_programmist
    @dasha_programmist
    ex Software Engineer at Reddit TS/React/GraphQL/Go
    Не инстанс контекста, а не самой БД - разные вещи!
    Используй dependencyInjection и переиспользуй инстанс контекста БД в каждом последующем контроллере, подойдет NInject.
    Где хостится сервер? IIS? Katana? Если IIS, то стоит помнить про то, что пул может убиваться, соответственно объекты не вечные, в отличие от self-hosted.

    Чтобы минимизировать нагрузку и не завязываться на БД стоит продумать кэш в оперативной памяти, продумать сценарии рефреша страницы и подгрузки недавней истории. И, конечно же, корректно использовать entity для чтения (Не трэкать всё подряд) и записи (вставка пачками - bulkinsert по таймеру, если требуется ну очень много вставок).
    Ответ написан
    3 комментария