Для этой ситуации вам, вероятно, лучше написать свой собственный поставщик состояния сеанса, который работает в базе данных SQL.
подробности здесь:
http://msdn.microsoft.com/en-us/library/aa479034.aspx
причина, по которой я бы написал собственного провайдера, заключается в том, что простой настройки провайдера сеанса SQL будет недостаточно, так как приложения будут использовать разные ключи сеанса и, следовательно, не будут делить состояние между ними. написав свой собственный поставщик сеансов, вы можете получить детальный контроль над всем процессом и, следовательно, переопределить проверки на месте, используя поставщика сеансов sql по умолчанию.