IIS中的堆栈溢出异常

时间:2013-09-23 11:25:40

标签: asp.net-mvc iis callstack

我在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中运行程序时,这个异常大部分被抛出。

1 个答案:

答案 0 :(得分:2)

您要求粘贴会话,这在Azure中目前不存在。您可以使用IIS的ARR自行实现它,但最终这不是一种可扩展的无状态容错服务的好方法。更好的方法是将映像放在一个公共存储库中,所有实例都可以访问它,例如blob存储。或者甚至更好,将图像放在blob存储中,并从blob存储直接提供给客户端,而不是通过其中一个角色实例。