Каковы некоторые советы для высокого трафика, сложной формы в ASP.NET MVC? - PullRequest
1 голос
/ 30 сентября 2010

В настоящее время у нас есть приложение WinForms, которое мы хотим медленно перенести в веб-приложение.

Один экран - это система ввода табеля рабочего времени, которая использует DataWindow и работает очень медленно и глючит. В любом случае на экране расписания есть пять разделов, которые сохраняются в реальном времени. Готовому расписанию требуется 2-5 таких разделов.

В настоящее время система работает МЕДЛЕННО. Некоторые из наших удаленных офисов едва ли имеют ГРП-Т1.

Итак, я хочу изменить дизайн этого экрана с помощью ASP.NET MVC2 и даже предоставить некоторые улучшения, такие как автозаполнение (которого в данный момент нет) и т. Д.

Какие-либо предложения по передовым методам для формы, которую я ЗНАЮ будет иметь в большом объеме И работать в возможных медленных сетях?

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

Любые предложения или советы приветствуются.

Спасибо

Ответы [ 2 ]

1 голос
/ 30 сентября 2010

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

Лично я бы предложил OOB Silverlight 4 + WCF.

Вы получаете единовременный хит при загрузке приложения Silverlight 1 , но после того, как они установят, толькотрафик, который вы должны иметь, - это данные и сообщения, отправляемые в / из веб-сервисов.Сокращение трафика до просто чистых данных + сообщений и устранение HTML значительно уменьшит перегрузку.

Вы можете использовать AJAX из ASP.Net или ASP.NET MVC, но у вас все равно есть возможность загрузки страницы каждыйвремя пользователь хочет заполнить табель времени.AJAX также может быть немного болтливым, особенно когда речь идет о предоставлении таких функций, как автозаполнение.Также может быть значительно сложнее получить приятный пользовательский интерфейс при использовании ASP.NET/MVC, с SL вам будет проще эмулировать функциональность пользовательского интерфейса текущего приложения Winforms.И по моему опыту разработка многофункциональных веб-приложений в Silverlight значительно быстрее, чем в ASP.NET.

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

1 Поток трафика при загрузке приложения Silverlight можно уменьшить с помощьюSL4, сделайте приложение вне браузера, отправив XAP-файл пользователям и используя sllauncher.exe , чтобы установить его (это все для системных администраторов).Это усложняет обновление приложения SL, но вы можете просто сделать это таким образом в офисах, где сетевой трафик особенно плох.

0 голосов
/ 30 сентября 2010

php / lamp против asp.net mvc: единственным фактором, влияющим на это, является не стоимость лицензирования.Команда играет важный фактор, конечно, это зависит от ваших ранее существовавших навыков, но затраты на разработку и инфраструктуру будут выше, если вы выберете платформу, к которой вы менее привыкли.

Из-за этого проект может не дать ожидаемых результатов, и это будет более серьезной проблемой, чем сохранение небольшого процента.Упреждающий удар: вам не нужно использовать ms sql с asp.net MVC, поэтому «лицензия на базу данных не делает ее маленькой%» - недопустимый аргумент.

Что касается подсказокпроверьте ответ, который я разместил на этот вопрос: Масштабируемое приложение с ASP.NET или Google AppEngine .Дополнительно:

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

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

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

...