ASP.NET и XML для каждого обращения к веб-сайту

У меня есть вопрос, чтобы понять концепцию ASP.NET с каждым клиентским браузером.

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

Поэтому я использую JQuery, чтобы получить измененное значение в раскрывающемся списке и планирую читать XML из jQuery и отображать данные.

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


person Murtaza    schedule 16.12.2011    source источник
comment
@ Răzvan Panda - спасибо за исправление, но не могли бы вы ответить на мой вопрос, поскольку вы, должно быть, поняли мой запрос.   -  person Murtaza    schedule 16.12.2011


Ответы (2)


Если я не ошибаюсь в вашем вопросе, вы в основном спрашиваете следующее:

У вас есть файл XML, который обновляется по какому-то событию от пользователя. Страница, отображаемая пользователю, основана на этом файле XML. Какую информацию увидят пользователи, когда с приложением работают несколько пользователей?

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

Однако вы можете синхронизировать доступ к этому файлу, записать файл для каждого пользователя, и вы увидите вывод для каждого пользователя:

<data>
    <selectedData user="user name">123</selectedData>
    <!-- and so on -->
</data>

ОБНОВЛЕНИЕ: для анонимных пользователей это не сработает. Однако, если вам нужно сохранить выбор только для текущего пользователя, вы можете использовать SessionState, а не файл XML.

person Alexander Yezutov    schedule 16.12.2011
comment
Спасибо @Alexander Yezutov- за решение, но все пользователи анонимны, это веб-сайт, размещенный на сервере, любой человек, зашедший на веб-сайт, может увидеть страницу, предыдущая страница имеет некоторые критерии, на основе которых отображается текущая страница. - person Murtaza; 16.12.2011
comment
вместо имени пользователя вы могли бы использовать идентификатор сеанса или guid - person Robert; 16.12.2011

Я хотел бы представить новый способ, который помог мне ответить на мой вопрос выше.

Что я сделал здесь

при загрузке страницы мы добавили всю информацию, относящуюся к каждому разделу, в разные скрытые поля. предположим, у меня есть три раздела с моим пользовательским раскрывающимся списком!

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

и Jquery очень помогает мне просто изменить внутренний html моего блока.

person Murtaza    schedule 05.01.2012