HttpContext.Current.Server.UrlEncodeSolo funciona en .NET Framework. ¿Cómo puedo codificar o decodificar argumentos uri en el proyecto ASP.NET Core?
                    
                        c#
                                asp.net-core
                                asp.net-core-mvc
                                
                    
                    
                        wtf512
fuente
                
                fuente

HttpContext.CurrentperoHttpContextes parte de .Net Core -Microsoft.AspNetCore.Http.HttpContext. Recuerda estoRespuestas:
Para ASP.NET Core 2.0+ simplemente agregue el
System.Netespacio de nombres: laWebUtilityclase se envía como parte delSystem.Runtime.Extensionspaquete nuget, al que se hace referencia de manera predeterminada en el proyecto ASP.NET Core.Para la versión anterior, agregue el
Microsoft.AspNetCore.WebUtilitiespaquete nuget.Entonces la
WebUtilityclase estará disponible para ti:fuente
Está disponible en la versión 2.0.0 de .Net Core SDK , en
System.Net.WebUtility.UrlEncode( ver documentación )fuente
System.Net.WebUtility.UrlEncode: los espacios están codificados con un+. SolíaUri.EscapeDataStringcodificar con%20.Para ASP.Net Core 2.0+ y si necesita que los espacios se codifiquen como
%20en contraposición a
+;Utilizar:
fuente
No pierda su tiempo, tengo mucha experiencia con estos llamados codificadores de URL, todos son inútiles y tienen diferentes peculiaridades. Por ejemplo, WebUtility.UrlEncode no se ocupa del signo "+".
Si desea codificar parámetros de URL, utilice una codificación BASE58. Utiliza solo letras del alfabeto + números, por lo que no es necesario codificar la URL.
fuente
WebUtility.UrlEncodey convirtió maravillosamente un signo más ("+") en un "% 2B". Estoy usando .NET Core 3.1.Estoy usando una redirección y UrlEncode no me funcionó porque codifica toda la URL. Resolví esto usando en su lugar UriHelper.Encode, que se muestra a continuación.
UriHelper.Encode
fuente