MVC2 связывает данные для просмотра модели очень медленно при использовании JSON и коллекций - PullRequest
2 голосов
/ 18 августа 2010

Я следовал за блогом http://haacked.com/archive/2010/04/15/sending-json-to-an-asp-net-mvc-action-method-argument.aspx о том, как настроить привязку данных JSON к ViewModel. похоже на работу.

Проблема в том, что это очень медленно. Сбор с 200 записями в нем и 8 полями на запись занимает 3 минуты, чтобы даже достичь точки останова в начале контроллера. Всего 1 или 2 записи занимают очень мало времени. Единственное, что я знаю о том, что происходит между отправкой и достижением контроллера, - это привязка данных к ViewModel. Я не знаю, предоставляет ли MVC2 хороший способ отправить столько данных и связать их. Я также подозреваю, что использование данных x-форм вместо json и создание пользовательских связывателей натолкнет меня на ту же проблему. Есть идеи?

Ответы [ 2 ]

1 голос
/ 18 августа 2010

Я бы попытался передать ваш json в действие контроллера в виде одной строки, а затем заняться явным анализом json в своем собственном коде ... и пропустить привязку модели все вместе ...

0 голосов
/ 08 октября 2010

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

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

data = {"pkid": "86"} в отличие от данных= {"pkid": 86}

На самом деле приведение JSON вызывало проблемы с некоторыми типами данных, и теперь я использую все строки в запросе, которые до сих пор MVC2 связывали очень хорошо.

Так что я не уверен, исправило ли это огромную задержку привязки или исправили другие конфигурации приложения / сервера.Если у кого-то есть эта проблема, попробуйте и подтвердите.

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