web-dev-qa-db-ja.com

System.Web.HttpUtility.UrlEncode / UrlDecode ASP.NET 5の置き換え

System.Web.HttpUtility.UrlEncodeUrlDecodeの代替品があるかどうか知りたいのですが。

Encodeで見つけたように、Microsoft.Framework.WebEncoders.UrlEncoder.Default.UrlEncodeになります。

しかし、UrlDecodeは見つかりませんでした。あるの?

66
bezejmeny

System.Runtime.Extensions は、UrlDecodeHtmlDecodeの両方を定義します。

namespace System.Net
{
    public static partial class WebUtility
    {
        public static string HtmlDecode(string value) { return default(string); }
        public static string HtmlEncode(string value) { return default(string); }
        public static string UrlDecode(string encodedValue) { return default(string); }
        public static byte[] UrlDecodeToBytes(byte[] encodedValue, int offset, int count) { return default(byte[]); }
        public static string UrlEncode(string value) { return default(string); }
        public static byte[] UrlEncodeToBytes(byte[] value, int offset, int count) { return default(byte[]); }
    }
}

更新

System.Runtime.Extensionsは拡張機能を定義しますが、コードからわかるように、呼び出す必要がある実際のクラスはSystem.Net.WebUtilityです

オプション1System.Net.WebUtility

現在、Microsoft.Framework.WebEncodersDecodeを含める公的な計画はありません。

使用法

System.Net.WebUtility.UrlEncode(myString)
System.Net.WebUtility.UrlDecode(myString)

オプション2System.Text.Encodings.Web.UrlEncoder

これはasp.netコアサービスコンテナーに登録され、コントローラーなどに注入できます。