Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 当Url包含非ASCII字符时,我得到404错误(asp.net core+;kestler)_Asp.net Core_Razor_Asp.net Core 2.2_Non Ascii Characters_Kestrel - Fatal编程技术网

Asp.net core 当Url包含非ASCII字符时,我得到404错误(asp.net core+;kestler)

Asp.net core 当Url包含非ASCII字符时,我得到404错误(asp.net core+;kestler),asp.net-core,razor,asp.net-core-2.2,non-ascii-characters,kestrel,Asp.net Core,Razor,Asp.net Core 2.2,Non Ascii Characters,Kestrel,我有一个多语言网站,当用户更改当前语言或单击页面链接时,页面将被重定向到所选语言。因此,传递的重定向URL可能包含非ASCII字符 我有一个重写类(Microsoft.AspNetCore.Mvc.Infrastructure.RedirectResultExecutor): 如有任何建议,我们将不胜感激:):)你们有什么想法吗?:)您是否可以显示请求的完整日志(您可以将日志记录级别设置为“调试”)在你appsettings.Development.json中,如果你使用vs,那么你的路由配置是

我有一个多语言网站,当用户更改当前语言或单击页面链接时,页面将被重定向到所选语言。因此,传递的重定向URL可能包含非ASCII字符

我有一个重写类(
Microsoft.AspNetCore.Mvc.Infrastructure.RedirectResultExecutor
):


如有任何建议,我们将不胜感激:):)

你们有什么想法吗?:)您是否可以显示请求的完整日志(您可以将日志记录级别设置为“调试”)在你
appsettings.Development.json
中,如果你使用vs,那么你的路由配置是什么样子?@XingZou是的,但这是我们的实时网站,调试和检查日志有点困难,因为这个随机错误。如果我发现任何新的细节,我会更新问题。谢谢你最好通过设置来显示你请求的完整日志“Debug”:{“LogLevel”:{“Default”:“Debug”},@XingZou这是一个随机错误,但我会尝试在日志中找到它
         /// <param name="result">Redirect result</param>
        /// <returns>Task that represents the asynchronous operation</returns>
        public override Task ExecuteAsync(ActionContext context, RedirectResult result)
        {
            if (result == null)
                throw new ArgumentNullException(nameof(result));

            if (_securitySettings.AllowNonAsciiCharactersInHeaders)
            {
                //passed redirect URL contains non-ASCII characters
                result.Url = Uri.EscapeUriString(WebUtility.UrlDecode(result.Url));
            }

            return base.ExecuteAsync(context, result);
        }
//passed redirect URL may contain non-ASCII characters, 
//that are not allowed in kestler so i force to decode and it cause i get weird URL.
result.Url = Uri.EscapeUriString(WebUtility.UrlDecode(result.Url));