0

.Net で CryptoKey を作成しようとしていますが、次の例外の原因を知りたいです。

呼び出しのターゲットによって例外がスローされました。引数に予期しない値が含まれています。パラメータ名: expiresUtc

DotNetOpenAuth バージョンは 4.3.0.0、ランタイム バージョンは 4.0.20926 です。

バイト配列と System.DateTime (Utc に設定) を CryptoKey コンストラクターに渡していますが、このメッセージが引き続き表示されます。DNOAコードによってスローされたものですか?もしそうなら、System.DateTime のどこが悪いのでしょうか? そうでない場合は、コーディング環境に問題があることがわかり、どこを見ればよいかがわかります。

ところで、このコンストラクターのコードが利用可能な場合は、それを調べて質問に答えていただければ幸いです。ご指摘ありがとうございます。

4

2 に答える 2

1

Kindコンストラクターにequal toのパラメーターを渡す必要がありますDateTimeKind.Utc。 HostSample 拡張メソッドを参照してください。

internal static DateTime AsUtc(this DateTime value) 
{
    if (value.Kind == DateTimeKind.Unspecified) {
        return new DateTime(value.Ticks, DateTimeKind.Utc);
    }
    return value.ToUniversalTime();
}
于 2015-07-14T08:16:15.640 に答える
0

同じエラーが発生しました。私がしたことは、データストアから取得した後、expiresUtc を UTC 日付に変換することでした。だから、このようなもの:

new CryptoKey(key.Secret, key.ExpiresUtc.ToUniversalTime())
于 2014-05-21T23:49:59.093 に答える