<отделение> элемент вместо <таблицы>?

Проблема связана с тайм-аутом по умолчанию, равным 5 минутам удаленного взаимодействия (ServiceFabric.Services.Remoting) между службами.

Доступна версия 2 удаленного взаимодействия, и согласно документации Microsoft «Стек удаленного взаимодействия V2 работает лучше».

После обновления до V2 одним из возможных способов решения проблемы является увеличение времени ожидания

 new ServiceProxyFactory((c) => new FabricTransportServiceRemotingClientFactory(
                                       new FabricTransportRemotingSettings() {
                                           OperationTimeout = TimeSpan.FromMinutes(30)
                                       })))

Но это только увеличит время ожидания и не удалит его полностью.

Другой способ решить эту проблему - запустить работника, который обрабатывается непосредственно в сервисе, который использовался с удаленным взаимодействием, и ждать его завершения. Таким образом, решение не связано с таймаутом удаленного взаимодействия.

Например:

, заменив это:

await restoreClient.RestoreAsync(id, name).ConfigureAwait(false);

на

var workerId = StartANewWorker()
JobState jobState;
do {
    //poll for the status of the new worker
    var workerStatus = GetStatusOfTheWorker(workerId);

    await Task.Delay(1000).ConfigureAwait(false);
    if (workerStatus == Failed) {
        throw new Exception("Something went wrong");
    }
} while (workerStatus != Finished);

5
задан Community 23 May 2017 в 12:13
поделиться

7 ответов

несколько причин:

1) div более семантически корректен в большинстве случаев. люди, которые кодируют свои сайты в структуре таблиц, не используют таблицы для того, для чего они созданы, то есть для табличных данных. div представляет собой «разделение» или раздел страницы, поэтому размещение элементов в div более корректно.

2) div более гибкие, их проще стилизовать и поддерживать. вам не нужно писать

Text here каждый раз, когда вы хотите что-то сказать, когда вы можете просто написать
Текст здесь . вы можете добавить CSS-хуки (т. е. классы или элементы) как к таблицам, так и к div-элементам, но с помощью div-ов это становится намного более гибким.

3) сайты со структурой таблиц просто безобразны:)

14
ответ дан 18 December 2019 в 05:29
поделиться

Ключевым моментом здесь является их использование для макета. Заметьте, нет ничего плохого в таблицах для табличных данных . Вот для чего они.

Но когда вы используете таблицы для разметки, вы создаете очень жесткую структуру страницы, которая обычно не очень хорошо работает с различными размерами экрана, пользовательскими агентами (например, мобильными браузерами или программами чтения с экрана для слепых людей). Особенно в последнем случае вы уничтожаете любой порядок, в котором контент должен быть прочитан пользователю). К сожалению, таблицы по-прежнему являются одним из самых надежных механизмов для разметки страницы, поскольку реализации практически не отличаются друг от друга, и они работают безупречно более десяти лет - здесь CSS - это совершенно другой вопрос.

Но в основном все сводится к следующему:

Таблицы

  • , нарушающие различие содержания и представления,
  • являются громоздкими и не поддерживаемыми в долгосрочной перспективе, особенно когда попытки изменить макет нескольких страниц аналогичным образом
  • не имеют сильного семантического значения, что важно для людей с ограниченными возможностями, которые могут полагаться только на читаемый вслух текст. Таблицы читаются здесь построчно, столбец за столбцом, что почти всегда не очень полезно в макетах на основе таблиц

CSS Layout

  • сложнее понять (по крайней мере, для представления)
  • допускает (иногда) чистое разделение контента и презентации. Обратите внимание на то, что иногда вам приходится использовать несколько контейнерных элементов в HTML, чтобы обеспечить правильную работу некоторых макетов и стилей, поскольку CSS имеет некоторые ограничения
  • , что позволяет лучше семантически понимать базовую разметку , если вы надеваете ' t вслепую используйте
    и . Есть много тегов, которые имеют значение и должны использоваться как таковые. Например, не используйте
    , когда вы можете использовать

    .

15
ответ дан 18 December 2019 в 05:29
поделиться

Поскольку таблица несет семантическое значение - то, что вы в данный момент отображаете табличные данные, как и h1, означает, что у вас есть заголовок. Поэтому, если вы используете таблицы для форматирования выходных данных, вы вводите в заблуждение интерпретацию семантики вашего кода.

Это может, например, привести к проблемам доступности для людей, использующих программу чтения с экрана.

6
ответ дан 18 December 2019 в 05:29
поделиться

большинство людей продолжает рассказывать о том, как таблица должна использоваться только для данных, и это приводит к проблемам с производительностью, когда вы используете ее в целях компоновки. Кроме того, он должен быть более гибким, потому что вы можете сделать

потоком влево, потоком вправо и потоком везде.

Однако, IMHO, это не стоит усилий. Особенно, когда у вас есть столбцы элементов управления, которые должны правильно совмещаться с соответствующими им надписями, это займет слишком много времени, чтобы все выстроилось правильно.

0
ответ дан 18 December 2019 в 05:29
поделиться

Использование div это лучше, чем использование таблицы, потому что она проста в управлении в проекте, и она может быть контейнером для элементов управления, чем таблица, и таблица в основном используется для группировки данных со схожей структурой, поэтому она предназначена для этой задачи, но div в основном считается контейнером, чем стол. Я обнаружил разницу между сборкой множества элементов управления и тем, что я могу управлять контейнером, но в таблице я запутался, потому что мне нужно вставить внутрь и его зацикливание внутри друг друга.

1
ответ дан 18 December 2019 в 05:29
поделиться

Использование таблиц для верстки было революционным для веб-дизайна, но это было пятнадцать лет назад, и других альтернатив не было. Именно из-за этой истории таблицы даже рассматриваются сегодня как макет.

Макет на основе CSS гораздо более гибкий, чем макет на основе таблиц. Есть еще несколько вещей, которые легче выполнить с помощью таблиц, но с другой стороны, есть много вещей, которые очень легко сделать с помощью CSS, которые очень сложны или невозможны для таблиц.

0
ответ дан 18 December 2019 в 05:29
поделиться