2014-09-04 2 views
-1

У меня есть «web1 (http: // localhost/web1)» и «web2 (http: // localhost/web2)», но мне нужно отправить сеанс из web1 в web2.Мне нужно отправить сеанс между web1 в web2

Я пытаюсь использовать «sessionstate» в «web.config» с «mode = SQLServer» и «mode = StateServer», которые не завершены. потому что я получаю ошибку: «Невозможно сериализовать состояние сеанса. В режиме« StateServer »и« SQLServer ».

Поэтому мне нужно, чтобы какой-либо метод для отправки сеанса от «web1» до «web2», а затем я обязательно остаюсь исходным значением в сеансе.

My environment. C# .net 4.0, SQL Server 2008, IIS 7.5

+2

Почему бы не использовать базу данных? У вас есть SQL Server 2008. – Donal

+1

web1 и web2 - это разные веб-приложения, что означает разные домены приложений, их информация о сеансе не будет доступна в любом случае. Вам лучше хранить значения в таблице DB, которые не привязаны к сеансу. –

+0

Вы знакомы с QueryString в Сети ..? Я предполагаю, что у вас есть src для этого проекта, также покажите, что вы сделали до сих пор по своему усмотрению .. если они находятся в одном домене в одном домене – MethodMan

ответ

1

Состояние сеанса связи с по умолчанию Состояние сеанса ASP.Net: все сеансовые сеансы (внутрисерверный, SQL и государственный сервер) разделяют сессии sessionID + applicationID, тем самым делая это невозможно напрямую поделиться состоянием сеанса.

Если вам нужно поделиться небольшим количеством данных, то cookie может быть приемлемым (может потребоваться шифровать данные там). Кроме того, вы можете хранить сервер данных в своей пользовательской базе данных, доступной для обоих приложений, и использовать пользовательский идентификатор для передачи идентификатора пользователя/сеанса.

+0

Спасибо, Алексей Левенков. Я попробую следовать вашему методу. – codeman

Смежные вопросы