Ошибка клиента Mercurial 255 и ошибка HTTP 404 при попытке отправить большие файлы на сервер

На сегодняшний день невозможно отключить кнопку «Назад», используя свойство enabled. Свойство backBarButtonItem будет nil, если вы не создадите пользовательский элемент, и даже тогда он будет игнорировать свойство enabled. Есть пара (неудовлетворительных) способов обойти это.

Скрыть кнопку

Это то, что Apple хочет, чтобы вы делали это, игнорируя свойство enabled. Это также просто

navigationItem.hidesBackButton = true  

и должно быть предпочтительным подходом, если у вас нет веских причин.

Отключить и отточить навигационную панель

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

navigationController?.navigationBar.userInteractionEnabled = false
navigationController?.navigationBar.tintColor = UIColor.lightGrayColor()

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

Использовать элемент пользовательской левой панели.

leftBarButtonItem не игнорирует свойство enabled, поэтому вы может создать пользовательский элемент и вызвать поп вручную, когда он будет активирован.

navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(ThisClass.backButtonTapped))
...
navigationItem.leftBarButtonItem?.enabled = false

func backButtonTapped() {
    self.navigationController?.popViewController(animated: true)
}

Это, однако, не будет иметь стиль кнопки задней панели с ведущим треугольным индикатором.

30
задан coderunner 19 June 2010 в 02:36
поделиться

1 ответ

Те же проблемы ...

При настройках по умолчанию на сервере IIS вы не сможете отправлять большие репозитории на сервер, так как IIS имеет максимум по умолчанию длина запроса составляет всего 4 МБ, а таймаут для сценариев CGI составляет 15 минут, что делает невозможным загрузку больших файлов. Чтобы разрешить загрузку больших файлов (а это нелегко найти в Интернете…), сделайте следующее:
1. В диспетчере IIS щелкните узел веб-сайта и щелкните ссылку Ограничения….
2. Затем укажите достаточно большой тайм-аут соединения (здесь я выбрал 1 час или 3600 секунд)
3. Затем щелкните узел, содержащий hg (в соответствии с процедурой установки), затем дважды щелкните CGI
4. Задайте достаточно длительное время ожидания для сценариев CGI (например, 10 часов)

Теперь отредактируйте C: \ inetpub \ wwwroot \ hg \ web.config, чтобы он имел новый в разделе и спецификацию в :

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
[…]
    <security>
         <requestFiltering>
           <requestLimits maxAllowedContentLength ="2147482624" />
      </requestFiltering>
    </security>
  </system.webServer>
  <system.web>
    <httpRuntime
      executionTimeout="540000" maxRequestLength="2097151"/>
  </system.web>
</configuration>

Это определяет тайм-аут HTTP чуть больше 6 дней и максимальный лимит загрузки около 2 ГБ.

51
ответ дан 27 November 2019 в 23:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: