2017-09-15 22 views
1

我有一個項目(SharePoint-Addin),它不時在我的客戶機器上拋出CryptographicException。即使輸入任何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); 
       } 
      } 
     } 

這將(希望)工作,但這個問題不是關於代碼,而是關於如何強制加密異常。

我可以添加一個「邪惡頭」到一個請求,所以這會觸發?

回答

0

看吧在MSDN:

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

的問題是:一旦我的控制器裏面,我有我自己的 「全局」 異常handlings說漁獲物和返回任何錯誤作爲JSON,所以global.asax.cs不會被解僱 –

+0

你的代碼中的哪一個操作會拋出'CryptographicException'? – STORM

+0

無:)這發生在我的代碼被輸入之前。但是按照你的建議,我必須把它放在某處。而且我不能在Application_start中這樣做,因爲我需要cookies/etc。已經設置爲調試錯誤 –