2017-09-15 1 views
1

私は、顧客のマシンでCryptographicExceptionをスローするプロジェクト(SharePoint-Addin)を持っています。この例外は、Controller-Actionを入力する前に発生します。MVCプロジェクトでCryptographicExceptionをシミュレートしますか?

私はそのエラーをキャッチし、分析し、それに応じて反応したいと考えています。これは、(うまくいけば)意志

protected void Application_Error(object sender, EventArgs e) 
     { 
      _log.Error("ExceptionError occured "); 
      Exception exception = Server.GetLastError(); 
      if (exception!=null) 
      { 
       _log.Error(exception); 
       if (exception is CryptographicException) 
       { 
        Response.Redirect(loginPage, true); 
       } 
      } 
     } 

:私は、次のコードを持って

(現在、私の推測では、このトークンの有効期限のいくつかの種類であるので、私はこの問題が発生した場合、単純に、ログイン・ページを表示したいだろう)この質問はコードについてではなく、CryptographicExceptionを強制する方法についてです。

リクエストに「悪意のあるヘッダー」を追加してこれを起動できますか?ここでのMSDNで

答えて

0

ルック:

https://msdn.microsoft.com/en-us/library/system.security.cryptography.cryptographicexception(v=vs.110).aspx

private void StringConstructor() 
{ 
    // Construct a CryptographicException using a custom error message. 
    string errorMessage = ("Unexpected Operation exception."); 
    CryptographicException cryptographicException = 
     new CryptographicException(errorMessage); 
    Console.WriteLine("Created a CryptographicException with the " + 
     "following error message: " + errorMessage); 
} 

か、単に

throw new CryptographicException(errorMessage); 
+0

問題がある:一度私のコントローラの内部で、私がキャッチし、私自身の "グローバル" 例外ハンドリングを持っており、任意のエラーをjsonとして返します。したがって、global.asax.csは実行されません。 –

+0

あなたのコード内で、どの操作が 'CryptographicException'をスローしますか? – STORM

+0

なし:)これは、コードが入力される前に発生します。しかし、あなたが私がそれをどこかに置かなければならないと提案したようにそれをシミュレートする。そして私はApplication_startでそれをすることはできません。エラーをデバッグするためにすでに設定されています –

関連する問題