Веб-сервис (.net), возвращающий html - ограничения? - PullRequest
2 голосов
/ 04 января 2011

У меня есть веб-сервис, который возвращает HTML для таблицы (в целях оптимизации) в виде строки.Одна вещь, к которой я проявляю осторожность, - это лимит данных, которые мне разрешено помещать в строковую переменную в C #, а также любые другие возможные ограничения или предупреждения?

Я читал на онлайн-форумах, что строка довольно удобна, и вы можете поместить в нее до 1 ГБ данных (что, безусловно, будет достаточно для моих целей).Любой вход?

Ответы [ 3 ]

3 голосов
/ 04 января 2011

Строка - или любой другой объект - может иметь размер до 2 ГБ в Microsoft CLR . (Это только детали реализации, а не указанный стандарт. Другие реализации могут иметь другие ограничения.)

Поскольку строки имеют формат UTF-16, каждому символу требуется два байта, что означает, что строка может содержать максимум 1 Гига-символов .

2 голосов
/ 04 января 2011

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

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

Как и в других ответах, в теории для ограничения строки указано 1 Гб, но на практике это ограничено памятью пользовательского режима. Таким образом, если ваше приложение имеет доступ к 2 ГБ адресного пространства пользовательского режима, вы можете продолжать использовать его, пока оно не закончится. Обратите внимание, что это не физическая ОЗУ, а общая доступная память пользовательского режима «на приложение».

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