2015-05-20 22 views
3

我得到這個錯誤,谷歌/ SO使它很清楚這個錯誤是特定使用Response.Redirect到Response.End或使用(HttpResponseMessage)== Response.End(.Redirect)獲取...代碼被優化或本機框架

{無法因爲代碼被優化或天然幀是在調用堆棧的頂部以評價表達。}

微軟專門將其描述爲「由設計」和建議使用更好的方法來達到預期的效果here.

我正在幫助排除故障的代碼不使用指定的技術,如Response.End但是有一個使用語句,所以我想知道編譯器是否將使用轉換爲諸如Response.End之類的不需要的調用之一?

這裏就是錯誤開始剪斷:

HttpRequestMessage request = HelperBuildRequest(client, "abc/123", HttpMethod.Get, ssoToken, "application/vnd.widgets.search.product-v1.0+json"); 

using (HttpResponseMessage response = client.SendAsync(request).Result) 
{ 
    Action<SearchProductsResponseModel> action = (result) => 
    { 
     .....doing stuff... 
    }; 
    json = HelperResponse<SearchProductsResponseModel>(response, MethodBase.GetCurrentMethod().Name, action); 
} 

當我與一個嘗試捕捉我得到同樣的事情把它包起來......我希望更多的具體的事情。

因此,沒有人知道編譯器如何實現using或System.Action委託之間的交互或真的有任何其他想法?

TIA

確定從做其他的東西,下面的USR建議,我被困在錯誤和看着當地人看到什麼migh介紹和YOWSER做回。

當然,我並沒有完全使用調試器來解決這個問題。屏幕截圖將使其全部清楚。

enter image description here

所以USR使您的評論的答案,我標誌着它的時候了。

THANK YOU

+0

錯誤發生在哪一行?這不是一個例外,它是調試器的輸出。找到實際的異常併發布它的ToString。 – usr

+0

它發生在運行動作委託。我明白這是調試器輸出。我用USING包裝了一個try catch,並得到了同樣的東西.... ... ...優化..本機框架......等等。你是說我應該做的是用try catch包裝Action,看看我是否有更具體的東西。 – GPGVM

+0

你可能沒有正確使用調試器......通常你可以獲得例外。查看當地人的窗口或張貼屏幕截圖。 – usr

回答

1

這不是一個例外,它是調試器的輸出。查看當地人的窗口或張貼屏幕截圖。更新:確實,你已經找到了這樣的錯誤。

我沒有使用調試器來充分程度這個問題

是。