StackoverflowException в IIS7, но не в Кассини - PullRequest
1 голос
/ 25 октября 2010

У меня есть некоторый код C #, который выдает исключение StackOverflowException при запуске под IIS7, но когда он запускается под Cassini в VS2008, тогда код работает нормально.

Это известная проблема, из-за которой Cassini обрабатывает подобные исключенияиначе?

Ответы [ 2 ]

3 голосов
/ 25 октября 2010

Среда выполнения IIS использует другой размер стека для потоков. IIRC - 256 КБ, в отличие от стандартного 1 МБ, который вы получаете при работе в стандартной среде .NET, которую использует VS. Другими словами, у вас может быть код, который работает нормально при обычной среде выполнения .NET, но исчерпывает стек под IIS.

При взгляде на Cassini кажется, что он использует обычную среду выполнения .NET, поэтому я ожидаю, что он также будет использовать размер стека 1 МБ на поток.

1 голос
/ 31 марта 2011

вы можете изменить размер стека с помощью команды EDITBIN. или измените его, создав собственный поток с необходимым размером стека

...