Как ASP.NET является многопоточным?

Создайте службу адаптера для сообщения:

services.service('Http', function ($http) {

    var self = this

    this.post = function (url, data) {
        return $http({
            method: 'POST',
            url: url,
            data: $.param(data),
            headers: {'Content-Type': 'application/x-www-form-urlencoded'}
        })
    }

}) 

Используйте его в своих контроллерах или что-то еще:

ctrls.controller('PersonCtrl', function (Http /* our service */) {
    var self = this
    self.user = {name: "Ozgur", eMail: null}

    self.register = function () {
        Http.post('/user/register', self.user).then(function (r) {
            //response
            console.log(r)
        })
    }

})
24
задан GEOCHET 18 March 2009 в 14:58
поделиться

4 ответа

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

преимущество для добавления потоков к коду ASP.NET состоит в том так, чтобы можно было управлять внутренними работами собственного приложения и не быть вынуждены полагаться на IIS для принятия всех решений для Вас.

5
ответ дан jpmc26 28 November 2019 в 23:37
поделиться

Мало того, что сервер обрабатывает различные запросы к различным потокам, но единственный запрос , может поток изменения в ходе жизненного цикла. Это называют гибкость потока . Я ищу хорошую статью, объясняя это...

РЕДАКТИРОВАНИЕ: Никакие категорические статьи все же, но одно сообщение в блоге объяснение некоторых трудностей.

РЕДАКТИРОВАНИЕ: Больше ссылок из комментариев:

24
ответ дан Community 28 November 2019 в 23:37
поделиться

ASP.net использует пул потоков .NET (который настраивается), Каждый запрос получен одним из потоков в пуле потоков, пока каждый поток уже не занят. Тогда очередь запросов в Стопке IIS, пока это также не перетекает. Оттуда новые запросы, встречаются с очень ужасным 'Сервером, недоступное' сообщение.

Это - обычная история 'многопоточности' для веб-сайта ASP.net.

существует много способов гарантировать масштабируемость. Причем самым очевидным является тестирование производительности и удаляющий узкие места из Вашего кода.

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

Вот категорическое сообщение MSDN MAG о том, как сделать это

ОБНОВЛЕНИЕ

Хорошо, я, вероятно, пытаюсь ответить на Ваш полный вопрос:

, "Что еще более важно, там какое-либо преимущество для добавления потоков к коду ASP.NET, если поточная обработка сделана выше в IIS?"

короткий ответ: Это зависит! Если бы Вы ожидаете на длительном процессе, то Вам скорее рекомендовали бы реализовать более хороший опыт для клиента запроса (т.е. Из вызовов полосы AJAX)

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

, Если Ваш сайт получает большой трафик, то действительно необходимо полагать, что реализующие Асинхронные шаблоны лучше используют ЦП

9
ответ дан Andrew Harry 28 November 2019 в 23:37
поделиться

Отдельный поток обычно порождается для каждого нового запроса, тогда операционная система делает планирование процессора. Если Вы не должны обрабатывать всего несколько запросов за один раз, Вам не нужна дополнительная поточная обработка.

3
ответ дан sharptooth 28 November 2019 в 23:37
поделиться
Другие вопросы по тегам:

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