Apache Ignite Session.Clear не работает должным образом - PullRequest
0 голосов
/ 27 января 2020

У нас есть сайт веб-форм ASP. NET, опубликованный в IIS, использующий Apache Ignite 2.7.6 в качестве поставщика состояния сеанса. Наш веб-сайт настроен как «клиент», и сервер воспламенения запускается из консоли (т.е. клиент воспламенения запускается отдельно). Я вижу один сервер и один клиент на консоли сервера Ignite, и в целом сеансы работают нормально. Основная проблема, с которой я сталкиваюсь, заключается в том, что ключи сессий не очищаются / не удаляются при использовании Session.Clear () или Session.RemoveAll (). С другой стороны, когда я использую Session.Remove (ключ), он работает точно так, как ожидалось.

Вот пример сценария: пользователь нажимает кнопку, и на стороне сервера у меня есть код, который очищает сеанс и перенаправляет пользователь на другую страницу. Когда я ставлю точку останова после Session.Clear () или Session.RemoveAll (), я вижу, что все ключи были удалены, но при загрузке страницы перенаправленной страницы я вижу, что все ключи все еще присутствуют в сеансе. В качестве теста я изменил код для использования Session.Remove (ключ), и он работает нормально, поэтому я не уверен, почему Clear () и RemoveAll () не работают должным образом.

Веб-приложение. config:

<igniteConfiguration xmlns="http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection" clientMode="True" gridName="myGrid">         

    <cacheConfiguration> 
        <cacheConfiguration name="aspNetSessionCache" cacheMode="Partitioned" backups="0"/> 
    </cacheConfiguration> 

    <JvmOptions> 
      <string>-Xms512m</string> 
      <string>-Xmx512m</string> 
    </JvmOptions> 
  </igniteConfiguration> 

Ignite config сервера:

<beans xmlns="http://www.springframework.org/schema/beans" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation=" 
       http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans.xsd"> 

        <bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration"> 

        <property name="cacheConfiguration"> 
            <list> 
                <!-- Partitioned cache example configuration (Atomic mode). --> 
                <bean class="org.apache.ignite.configuration.CacheConfiguration"> 
                    <property name="name" value="aspNetSessionCache"/> 
                    <!-- Set cache mode. --> 
                    <property name="cacheMode" value="PARTITIONED"/> 
                    <!-- Set number of backups to 0--> 
                    <property name="backups" value="0"/> 
                    <property name="statisticsEnabled" value="true"/> 
                    <property name="dataRegionName" value="Default_Region"/>         
                </bean> 
            </list> 
        </property> 

        <!-- Redefining maximum memory size for the cluster node usage. -->   
        <property name="dataStorageConfiguration"> 

            <bean class="org.apache.ignite.configuration.DataStorageConfiguration"> 
                <!-- Enable metrics for Ignite persistence  --> 
                <property name="metricsEnabled" value="true"/> 

                <!-- Redefining the default region's settings --> 
                <property name="defaultDataRegionConfiguration"> 
                    <bean class="org.apache.ignite.configuration.DataRegionConfiguration">                       
                        <!-- Custom region name. --> 
                        <property name="name" value="Default_Region"/> 
                        <property name="metricsEnabled" value="true"/> 
                        <!-- 10 MB initial size. --> 
                        <property name="initialSize" value="#{10L  1024  1024}"/> 
                        <!-- Setting the size of the default region to 150 MB. --> 
                        <property name="maxSize" value="#{150L  1024  1024}"/> 
                    </bean> 
                </property> 

            </bean> 
        </property> 

    </bean> 
</beans> 
...