Странная многопоточная проблема на IIS 7 - PullRequest
1 голос
/ 19 июля 2011

На сайте есть .dll в папке bin, в которой есть один многопоточный метод. Это довольно быстрый процесс (полсекунды), поэтому время ожидания не является проблемой.

В нашей разработке IIS 7 это работает без проблем. То же самое на всех машинах программистов. Однако в производственной IIS7 не удается запустить параметризованный поток Вот строка кода:

ParameterizedThreadStart start = new ParameterizedThreadStart(queryDb);
Thread thrd = new Thread(start);
thrd.Start(ndb);

Это довольно стандартные вещи. Мой вопрос: знает ли кто-нибудь что-нибудь в IIS7, что могло бы помешать ему создать поток, как указано выше

Ответы [ 2 ]

0 голосов
/ 19 июля 2011

Другая потенциальная причина: код требует полного доверия, которое вы имеете при локальном тестировании, но не на сервере.Используете ли вы какой-либо критический или небезопасный код безопасности?

0 голосов
/ 19 июля 2011

Причина Potetnial: Если вы неправильно отключили старые потоки и у вас есть 32-битная машина, вам скоро не хватит адресного пространства, чтобы выделить стек для новых потоков.

Примечание: рассмотрите возможность использования пула потоков (т. Е. QueueWorkItem http://msdn.microsoft.com/en-us/library/kbf0f1ct.aspx) для выполнения однократных задач. Или рассмотрите возможность использования асинхронных страниц, если обработка фактически является частью рендеринга страницы (вместо ожидания завершения потока).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...