Как перенаправить на внешний URL-адрес с контроллера в веб-сборке blazor?

#c# #asp.net-core #asp.net-web-api #blazor #blazor-webassembly

#c# #asp.сетевое ядро #asp.net-веб-api #блейзор #blazor-веб-сборка

Вопрос:

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

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

Не могли бы вы, пожалуйста, помочь мне

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

 var confirmationUrl = $"https://{Request.Host.Value}/api/Cuentas/VerifyEmailAsync?userId={HttpUtility.UrlEncode(userIdentity.Id)}amp;emailToken={HttpUtility.UrlEncode(emailVerificationCode)}";  

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

 [AllowAnonymous]  [Route("VerifyEmailAsync")]  [HttpGet]  public async Tasklt;ActionResultgt; VerifyEmailAsync(string userId, string emailToken)  {  // Get the user  var user = await _userManager.FindByIdAsync(userId);   // If the user is null  if (user == null)  // TODO: Nice UI  return Content("Usuario no encontrado");   // If we have the user...   // Verify the email token  var result = await _userManager.ConfirmEmailAsync(user, emailToken);   // If succeeded...  if (result.Succeeded)  {  //se usa redirect para enviar a una pagina blazor desde el controlador  //return Content("Correo Verificado");  return Redirect($"https://{Request.Host.Value}/cuentaconfirmada");  }   // TODO: Nice UI  return Content("Token de verificación de correo electrónico no válido");  }  

нажав на ссылку, я перейду по следующему маршруту:

 https://beta.dominio.mx/api/Cuentas/VerifyEmailAsync?userId=7cc3a7b0-7f40-4d23-abe4-f6778877d6faamp;emailToken=CfDJ8BaQjrGRmsNBsbOJm8bucuOua9CJS4w/vwySE+k0I+tQYzfBc+ysKqkCR9nwHDP7wmHzAkgYo/UiURHwnQd113wslk8Lgo5iqgAPxKWX17x0PYFF8y+ih9BFtzD4RiOn+ZXsZLDWqcga1tjHcDmYfhzh9NwWFZv8AhdLF48BusPZ9bsXiHEUK1WVY8Wgi7j601p/Rds/7TY3rjq6BqpSyHiud3stD16xL5jgn1fLbinlzgm5+HvWegmXa2WICgL01A==  

первоначальный маршрут, по которому он должен привести меня, таков:

 https://beta.dominio.mx/cuentaconfirmada  

в консоли он показывает мне, что все прошло успешно, он показывает мне путь, которым он является на самом деле, и статус 200, но он показывает мне предупреждение:

введите описание изображения здесь

введите описание изображения здесь

 until I forcefully update it takes me to the correct path  

введите описание изображения здесь

Я уже пытался использовать другие методы перенаправления, думая, что проблема связана с состояниями http, которые возвращает каждый метод, используйте следующее:

 Redirect() 302  RedirectPermanent() 301 RedirectPreserveMethod 307  

Комментарии:

1. если (результат. Удалось) — может быть, это ложь, когда вы запускаете ее с сервера? попробуйте перенаправить без этого условия