-1

我在 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 中运行程序时引发的。

4

1 回答 1

2

您正在请求粘性会话,这在今天的 Azure 中不存在。您可以使用 IIS 的 ARR 自己实现它,但最终这对于可扩展、无状态、容错服务来说不是一个好方法。更好的方法是将图像放在一个公共存储库中,所有实例都可以访问它,例如 blob 存储。或者更好的是,将图像放在 blob 存储中,并从 blob 存储直接将其提供给客户端,而不是通过角色实例之一。

于 2013-09-23T14:48:59.467 回答