3

HttpServerUtility.UrlTokenDecode(string)が常にnullを返し、プログラムがクラッシュするため、問題が発生しているようです。

私が収集したものから、このメソッドは文字列をbase64Byte-Arrayに変換します。残念ながら、コードの元の開発者はもう私たちと一緒ではなく、私のオフィスではコードに精通している人はあまりいないようです。

public string DecodeUrlData(string urlData)
{
    string lsReturnVal = string.Empty;
    byte[] decodedrtfBytes = HttpServerUtility.UrlTokenDecode(urlData);

    lsReturnVal = System.Text.ASCIIEncoding.ASCII.GetString(decodedrtfBytes);
    return lsReturnVal;
}

これは記述されたコードでありurlData、次の値があります。

urlData = "pdfSignature template testing."

urlData「文字列」値またはrtfformatted文字列のいずれかを持つ可能性があることも知っておく必要があります)

しかし、最終的に発生するのは、そのHttpServerUtility.UrlTokenDecode(urlData)行が実行されたときに、バイト配列がnullになることです(次の行で例外が発生します)。

文字列をbase64に変換して機能する別の方法はありますか、それともnull値を生成し続けるのはなぜですか?

4

1 に答える 1

4

HttpServerUtility.UrlTokenDecodeドキュメントによると、inputパラメータは以前にを介してエンコードされたUrlトークンUrlTokenEncodeである必要があります。

引用:

UrlTokenDecodeメソッドは、バイナリデータをbase64桁としてエンコードするURL文字列トークンを同等のバイト配列表現に変換します。UrlTokenDecodeメソッドを使用して、URLで送信され、UrlTokenEncodeを使用してエンコードされたトークンをデコードします。

于 2011-06-29T17:41:44.533 に答える