Будет запрос в IIS работать на единственном потоке?

Похож, среди других очень интересных предложений, существует один о совершенствовании дженериков и повреждении назад совместимость:

В настоящее время, дженерики реализованы с помощью стирания, что означает, что универсальная информация о типе не доступна во времени выполнения, которое делает некоторый код трудно для записи. Дженерики были реализованы этот способ поддерживать назад совместимость с более старым неуниверсальным кодом. Овеществленные дженерики сделали бы универсальную информацию о типе доступной во времени выполнения, которое повредит неуниверсальный код прежней версии. Однако Neal Gafter предложил делать типы reifiable, только если указанный, чтобы не повредить обратную совместимость.

в статья Alex Miller о Java 7 Предложений

8
задан Rex M 29 October 2009 в 14:27
поделиться

4 ответа

Do you dynamically change the culture? If not, you can set the culture in the web.config file.

<system.web>
  <globalization culture="ja-JP" uiCulture="zh-HK" />
</system.web>

You can also set it at page level:

<%@Page Culture="fr-FR" Language="C#" %>

And on the thread:

Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");

But for what you are using, the page-level or web.config level seems like the most appropriate perhaps.

2
ответ дан 5 December 2019 в 06:38
поделиться

Нет. ASP.NET демонстрирует гибкость потоков - в некоторых ситуациях запрос может перемещаться из одного потока в другой в определенные моменты жизненного цикла запроса. (Это не «где-нибудь»; эта запись в блоге дает более конкретную информацию.)

К сожалению, это не так четко задокументировано, как могло бы быть, и его относительно сложно спровоцировать - так что вы можете легко попадете в ситуацию, когда при тестовых нагрузках все в порядке, но на производстве все идет не так.

Однако некоторые тесты, которые я провел некоторое время назад (ищите "jskeet" на странице), предполагают, что Thread.CurrentCulture сохраняется даже при включении гибкости потоков.

19
ответ дан 5 December 2019 в 06:38
поделиться

Если вы знаете, что хотите, чтобы культура оставалась неизменной для всех потоков, это должно быть хорошим подходом.

Однако, если вам нужно установить культуру, скажем, на основание на запрос, которое может отличаться от одного запроса к другому, что может потенциально не быть надежным подходом. При высокой нагрузке мы наблюдали, как потоки повторно используются для множества запросов, и запросы мигрируют из одного потока в другой, оставляя свой язык (и другую статическую информацию потока) позади.

3
ответ дан 5 December 2019 в 06:38
поделиться

Как отмечали другие, ASP.NET может решить обрабатывать части того же запроса в разных потоках. Однако вы говорите об инициализации статического материала потока в начале каждого метода , поэтому это ограничение к вам не относится: я совершенно уверен, что ASP.NET не может изменить текущий поток в середине одного из ваших методов , поэтому ваш подход должен подойти.

1
ответ дан 5 December 2019 в 06:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: