2015-01-18 2 views
0

Работа над VS2012 C# asp.net web page applicaiton В модели по умолчанию для веб-страниц ASP.NET пользователь взаимодействует со страницей и кликами кнопку или выполняет некоторые другие действия, которые приводят к возврату . Страница и ее элементы управления заново создаются, код страницы запускается на сервере, а новая версия страницы отображается в браузере. Тем не менее, я хочу запустить код сервера с клиента без выполнения обратной передачи. Если клиентский скрипт на странице поддерживает некоторую информацию о состоянии (например, значения локальной переменной), публикация страницы и получение новой копии ее уничтожают это состояние. Кроме того, обратная передача страницы приводит к чрезмерной нагрузке на обработку, которая может снизить производительность и заставить пользователя ждать, пока страница будет обработана и повторно создана.Лучший способ реализации клиентских обратных вызовов программно без обратных передач в веб-страницах ASP.NET

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

Существует несколько вариантов автоматизации обратных вызовов клиентов на веб-странице ASP.NET. Функции AJAX в ASP.NET, такие как серверный элемент управления UpdatePanel, могут автоматизировать асинхронные обновления частичной страницы для меня, а функция связи веб-сервиса может автоматизировать асинхронные вызовы веб-сервисов. в следующих разделах:

1)UpdatePanel Control Overview 
2)Microsoft Ajax Overview 
3)Partial-Page Rendering Overview 
4)ASP.NET AJAX Web Services 

Исследуйте ASP.NET AJAX Web Services

1) Using Web Services in ASP.NET AJAX 

2)Exposing Web Services to Client Script 

3)Exposing WCF Services to Client Script 

4)Calling Web Services from Client Script 

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

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

ответ

0

ASP.NET SignalR - возможно, последняя из всех технологий, когда дело доходит до установления связи в реальном времени между клиентом и сервером без полных обратных почтовых сообщений. Это наиболее оптимально для сценария, в котором ожидается, что данные на стороне сервера будут часто меняться, и то же самое нужно немедленно обновить на стороне клиента. Типичным примером для этого будет спортивный веб-сайт, показывающий реальные результаты текущего матча. Чтобы узнать больше, перейдите по этой ссылке: http://www.asp.net/signalr.

Выбранная вами технология должна зависеть от ваших требований. Если вы используете ASP.NET Webforms и разрабатываете сайт для нишевой аудитории, панель обновления на основе AJAX должна решить большинство ваших проблем. Опять же, ничего не может сделать панель обновления, с которой простой старый JavaScript (и фреймворки javascript, такие как jQuery, не могут). Потребление веб-сервисов через JavaScript всегда будет асинхронным, поэтому не требуется обратная передача страницы.

+0

Sairaj, спасибо за ваш ответ. Я пытаюсь реализовать функции обратного вызова в решении Enterprise, несколько раз мне нужно хранить информацию о временном хранилище, например: Session, ViewState или htmlHiddenField, может потребоваться несколько раз для доступа к серверному событию, но не для доступа к базе данных доступа, - это SingleR, также лучше для тех, требование. – shamim

+0

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

+0

Sairaj, спасибо за вашу ценную информацию. После того, как ajax post back asp.net страница завершит свой обычный жизненный цикл страницы, это действительно дорого, мне нужен минимальный процесс загрузки на моем решении, что делает мое решение легким. Мое требование - статическое, 1) иметь родительскую дочернюю часть на странице, 2) информация о дочерних страницах хранится в хранилище temp, они будут влиять только на db, когда хранятся данные основной порции – shamim

Смежные вопросы