Частичное возвращение поста Microsoft AJAX, лучше ли использовать веб-сервис? - PullRequest
0 голосов
/ 16 апреля 2009

Я действительно запутался здесь, так как я читаю много мест, панель «Обновления» делает полный пост обратно, и я каким-то образом понял, что веб-сервисы намного лучше для производительности, поэтому, если я занимаюсь разработкой своего сайта, должен ли я использовать веб-сервисы или нормальные функции, такие как следующие

   protected void Page_Load(object sender, EventArgs e)
{
  GetDate();
}
protected void Button1_Click(object sender, EventArgs e)
{

}
[WebMethod()]
protected DateTime GetDate()
{
    return DateTime.Now;
}
  • я буду использовать пост обратно?
  • Каковы подводные камни веб-сервисов, особенно на веб-сайте AJAX?
  • что вы посоветуете, как лучше всего выжать с Microsoft AJAX

Ответы [ 2 ]

2 голосов
/ 16 апреля 2009

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

Избегайте обратной связи / перезвоните всякий раз, когда можете.

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

Я бы настоятельно рекомендовал использовать JQuery. Это очень поможет.

Что касается производительности веб-службы: используйте JSON (ScriptMethod) вместо XML для перемещения данных вперед и назад.

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

Обратная передача может происходить в любом месте при переходе между веб-элементом управления с runat = 'server' и кодом, выполняемым на сервере. Например: события нажатия кнопки вызывают обратную передачу.

Разработчики Asp.Net предпочитают постбэки, потому что они просты в реализации (среда IDE их подключает).
Веб-сервисы немного сложнее и требуют некоторого (небольшого) знания JavaScript.

Другим простым вариантом является использование UpdatePanels. Но все же используют ViewState.

1 голос
/ 16 апреля 2009

Лично я бы хотел использовать jQuery для вызова действия ASP.NET MVC; гораздо более простой трубопровод, и вы точно знаете, что происходит вверх и вниз по проводу.

...