2013-05-28 7 views
3

В .NET-проекте есть некоторые системы, над которыми я использую StateServer. Теперь мы используем кеш Appfabric для кэширования некоторых вещей, которые мы получаем из БД. Могут ли эти два co существовать в одном файле конфигурации?Может ли AppFabricCacheSessionStoreProvider и StateServer сосуществовать в одном приложении?

Сеанс состояние часть моего файла Config выглядит следующим образом

<sessionState mode="StateServer" cookieless="true" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" regenerateExpiredSessionId="true" timeout="30" stateNetworkTimeout="30"/> 
<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider"> 
    <providers> 
    <!-- specify the named cache for session data --> 
    <add name="AppFabricCacheSessionStoreProvider" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="default" /> 
    </providers> 
</sessionState> 

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

До тех пор, пока мы не заменим системы StateServer системами Appfabric Caching, для которых потребуется некоторое время (это очень большой проект), мы не хотим нарушать существующие системы. Отсюда этот вопрос.

+0

Непонятно, почему вам нужно использовать 'AppFabricCacheSessionStoreProvider', если вы используете AppFabric только для кеширования. Также неясно, какие результаты вы ожидаете от наличия 2 сеансов государственных провайдеров ... И что вы беспокоитесь о переключении - если только вы не настроили настраиваемое управление сеансом, заменяя одно внеочередное состояние сеанса другим, это должно почти не влиять на приложение , –

+0

при использовании AppFabricCacheSessionStoreProvider - это только начало большой перестройки системы. До сих пор мы используем HttpContext.Runtime.Caching, и мы переходим к распределенной системе кеширования. Мы обслуживаем много ppl, так что это показалось лучше. – krishgopinath

+0

И да, мы настроили управление состоянием сеанса. Я не spsd, чтобы раскрыть наш пользовательский soln, поэтому я использовал режим StateServer в качестве примера :) 10 извините abt that :) Простой вопрос. Является ли это возможным? Могут ли существовать два провайдера? – krishgopinath

ответ

2

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

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

+0

Спасибо. Все, что я хотел знать. – krishgopinath