Как сбросить некоторые переменные в @sessionScoped Bean при обновлении в JSF2.0? [Дубликат]

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

Чтобы сделать то, что вы хотите, у вас есть несколько вариантов.

В .NET 2.0 вы использовали бы .NET Remoting. Вы создаете удаленный интерфейс, который другие сборки могут использовать для вызова методов в исполняемых файлах.

В .NET 3.0 удаленный доступ был заменен WCF. Ваш сервис станет сервисом WCF, который предоставит GetRandomNumber () как часть контракта с данными. Приложения могут использовать контракт и подключаться к вашей службе для вызова метода.

В Интернете есть ряд хороших обучающих программ для .NET Remoting или его замены, Windows Communication Foundation.

345
задан BalusC 22 March 2017 в 09:50
поделиться

1 ответ

По состоянию на JSF 2.x есть 4 боковых области:

  • @SessionScoped
  • @RequestScoped
  • @ApplicationScoped
  • @ViewScoped

Сфера сеанса: область сеанса сохраняется с момента установления сеанса до завершения сеанса. Сеанс завершается, если веб-приложение вызывает метод invalidate объекта HttpSession или время его истечения.

RequestScope: область запроса недолговечна. Он начинается, когда HTTP-запрос отправляется и заканчивается после отправки ответа клиенту. Если вы поместите управляемый компонент в область запроса, с каждым запросом создается новый экземпляр. Стоит рассмотреть область запроса, если вас беспокоит стоимость хранения области сеанса.

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

ViewScope: область просмотра добавлена ​​в JSF 2.0. Объект с видимым компонентом сохраняется, пока страница с JSF повторно отображается. (Спецификация JSF использует термин term для страницы JSF.) Как только пользователь переходит на другую страницу, компонент не работает.

Выберите область действия, основанную на ваших требованиях.

Источник: Core Java Server Faces 3rd Edition от David Geary & amp; Кей Хорстманн [Стр. 51 - 54] enter image description here [/g1]

113
ответ дан BalusC 17 August 2018 в 10:16
поделиться
  • 1
    Не могли бы вы пояснить, что вы подразумеваете под «методом недействительности для объекта HttpSession»: invalidate() или недопустимым методом? – Alexander Pozdneev 29 July 2015 в 20:46
  • 2
    Немного устарел и, возможно, опоздал на ответ, но для его уточнения: FacesContext.getCurrentInstance().getExternalContext().invalidateSession(); вызывается в вашем & quot; logout bean & quot; это то, что он имеет в виду. – Roland 29 August 2017 в 21:26
Другие вопросы по тегам:

Похожие вопросы: