Перенаправление веб-API в Azure о том, что ресурс недоступен - PullRequest
0 голосов
/ 08 июня 2018

У меня есть веб-интерфейс, где пользователь отправляет токен, содержащий его / ее электронное письмо и URL-адрес, куда пользователь должен быть перенаправлен.Это прекрасно работает, когда я тестирую его на локальном хосте, но всякий раз, когда я размещаю его в Azure, он выдает мне следующее сообщение:

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

Я новичок в Azure и в том, как API .NET обрабатывает метод Redirect.

Следующая ссылка

myapi.azurewebsites.net/api/mail/track/click/verylongtoken

имеет следующий код

    [HttpGet("track/click/{token}")]
    public async Task<IActionResult> TrackClick(string token)
    {
        var stat = await _context.Stats.SingleOrDefaultAsync(s => s.Datum == DateTime.Today);
        var _token = await _context.TrackingToken.SingleOrDefaultAsync(tt => tt.Token == token);

        GeneratedToken decoded = new GeneratedToken();
        decoded = JsonConvert.DeserializeObject<GeneratedToken>(hasher.DecodeHash(token));

        if (_token != null)
        {
            if (stat == null)
            {
                Stats _stat = new Stats();
                _stat.Datum = DateTime.Today;
                _stat.Geopend = 0;
                _stat.Geklikt = 0;
                _stat.Verstuurd = 0;

                _context.Stats.Add(_stat);
                await _context.SaveChangesAsync();

                stat = await _context.Stats.SingleOrDefaultAsync(s => s.Datum == DateTime.Today);
            }

            stat.Geklikt++;

            _context.TrackingToken.Remove(_token);
            _context.Entry(stat).State = EntityState.Modified;
            await _context.SaveChangesAsync();
        }

        return Redirect("http://"+decoded.link);
    }

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

Почтальон также не дает мне более подробную информацию.

Может кто-нибудь помочь мне?

1 Ответ

0 голосов
/ 01 августа 2018

У меня та же проблема, но я решил ее:

  • Я использую CORS для предотвращения междоменной ошибки (см. F12 на chrome) и добавляю разрешенный адрес в разделе CORS на Azure.Служба приложений (добавьте «*», если вы используете токен безопасности в своем приложении)

  • У меня возникла та же проблема при развертывании с использованием раздела «Непрерывная доставка» на VS2017.Для развертывания в Azure я создаю первый Appservice в Azure, экспортирую профиль appService и импортирую его в VS2017 при публикации.

И с этим, его работа отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...