2013-09-23 108 views
-1

我在IIS中使用遞歸函數。它使用以下代碼:IIS中的堆棧溢出異常

void recursivefunction(int value) 
{ 
Random random=new Random(); 
int randomValue=random.Next(1,1000000); 
if(randomValue!=value) 
recursivefunction(value); 
else 
return randomValue; 
} 

當我在IIS中運行mvc程序時,此函數會拋出「StackOverflowException」。我知道這是因爲調用堆棧大小超出了限制。

有沒有辦法增加調用堆棧的大小,所以我的程序不會頻繁拋出這個異常?

當我在IIS中運行程序時,主要拋出了這個異常。

+0

感謝您的回答,我現在可以呈現在Windows Azure中的圖像而沒有任何問題 – Anandaraj

回答

2

您正在尋求粘性會話,這在今天Azure中不存在。您可以使用IIS的ARR自己實現它,但最終這對於可擴展,無狀態,容錯服務來說不是一個好方法。更好的方法是將圖像放在一個公共存儲庫中,所有實例都可以訪問它,例如blob存儲。或者甚至更好,將圖像放在blob存儲中,並通過blob存儲直接將其提供給客戶端,而不是通過其中一個角色實例。

+0

你一定要使用Blob存儲,不僅是因爲這個原因,而是因爲它的便宜到那裏存放比在SQL表或移動存儲。 – NRitH

+0

謝謝,我會試試 – Anandaraj

+0

對不起,我改變了這個問題,因爲這個網站不允許我提出新的問題 – Anandaraj