Есть ли какое-либо параллельное ограничение Запросов HTTP для Silverlight?

Что я использую:

class Enum(object):
    def __init__(self, names, separator=None):
        self.names = names.split(separator)
        for value, name in enumerate(self.names):
            setattr(self, name.upper(), value)
    def tuples(self):
        return tuple(enumerate(self.names))

, Как использовать:

>>> state = Enum('draft published retracted')
>>> state.DRAFT
0
>>> state.RETRACTED
2
>>> state.FOO
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
AttributeError: 'Enum' object has no attribute 'FOO'
>>> state.tuples()
((0, 'draft'), (1, 'published'), (2, 'retracted'))

, Таким образом, это дает Вам целочисленные константы как состояние. ОПУБЛИКОВАННЫЙ и два кортежа для использования в качестве выбора в моделях Django.

5
задан Morgan Cheng 18 August 2009 в 10:23
поделиться

3 ответа

Согласно RFC 2068:

«Клиенты, использующие постоянные соединения, ДОЛЖНЫ ограничить количество одновременные соединения, которые они поддерживают с данным сервером. А однопользовательский клиент ДОЛЖЕН поддерживать, как минимум, 2 соединения с любыми сервер или прокси. Прокси-сервер ДОЛЖЕН использовать до 2 * N подключений к другому сервер или прокси, где N - количество одновременно активных пользователей. Эти рекомендации предназначены для улучшения времени ответа HTTP. и избежать перегрузки Интернета или других сетей ».

Windows, безусловно, применяет это ограничение во всей операционной системе, но вы можете исправить это, изменив ключи реестра, расположенные по адресу:

My Computer \ HKEY_USERS (current user sid) \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Setting \

Ключи, которые нужно изменить:

MaxConnectionsPer1_0Server MaxConnectionsPerServer

Вы можете установить для них значения, превышающие значения по умолчанию, чтобы увеличить ограничение Windows. Однако это зависит от ОС и может по-прежнему ограничиваться браузером, хотя, как указывает Энтони, вы можете обойти браузер вместе, используя новый сетевой стек в SL3.

Я думаю, что хорошо играть со спецификацией RFC (I Я уверен, что для этого была веская причина) и ограничьте количество одновременных подключений до 2 на сервер. Если вам нужно больше, то, возможно, вы можете поискать протокол, отличный от HTTP, который лучше соответствует вашим потребностям.

0
ответ дан 15 December 2019 в 01:07
поделиться

SL будет используйте http-стек браузеров для выполнения запросов (в SL3 вы можете пропустить сам браузер, но вы все равно будете использовать стек на стороне клиента, такой как WinINET, который все еще ограничен).

1
ответ дан 15 December 2019 в 01:07
поделиться

Сейчас я не могу дать точного ответа на ваш вопрос, но Silverlight 2 использует стек HTTP браузера и, вероятно, ограничен тем, что он будет делать. В Silverlight 3 у вас есть выбор между стеком браузера и новым стеком Silverlight. Я не знаю, ограничен ли новый стек двумя одновременными подключениями к одному и тому же сайту, но это должно быть возможно проверить, создав небольшую тестовую программу.

3
ответ дан 15 December 2019 в 01:07
поделиться
Другие вопросы по тегам:

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