HttpListener. Запустите () ошибку AccessDenied на Vista

Проблема именно в том, что говорится в сообщении об ошибке: вы запускаете форму обновления состояния React непосредственно внутри метода render():

const Toasts = ({ appointments, resetState, toastedAppointment, toasts }) => {
  if (toasts.type) {
    switch (toasts.type) {
      case "dataFetched":
        resetState(); // Dispatching this action creates the warning.

В этом случае он отправляет действие Redux, но в конечном итоге это приводит к вызову React setState().

Не делайте этого :) Логика побочных эффектов, такая как запуск какого-то дополнительного обновления, основанного на текущем состоянии, вероятно, должна происходить примерно так componentDidUpdate. Компонент Toasts, вероятно, необходимо будет соответственно преобразовать из компонента функции в компонент класса.

13
задан smvlad 14 January 2009 в 16:25
поделиться

2 ответа

Я не понимаю, почему, но здесь это. Кажется, что причина состоит в том, что моя сетевая плата настроена с 2 дюйм/с.

если в коде я указываю одного из дюйм/с (как, я сделал рассматриваемый выше),

listener.Prefixes.Add("http://myip1:8080/app/");

затем для предотвращения исключения я должен зарегистрировать его в ограниченном IP слабом подстановочном знаке

netsh http add urlacl url=http://myip1:8080/app user=domain\user

однако, если я добавляю префикс с сильным подстановочным знаком (знак "плюс")

listener.Prefixes.Add("http://+:8080/app/");

и регистр с тем же подстановочным знаком

netsh http add urlacl url=http://+:8080/app user=domain\user

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

15
ответ дан 2 December 2019 в 00:19
поделиться

Тот URI уже регистрируется в системе?

В http://msdn.microsoft.com/en-us/library/system.net.httplistenerexception.aspx говорится, что это было бы одной причиной.

0
ответ дан 2 December 2019 в 00:19
поделиться
Другие вопросы по тегам:

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