Почему смена поставщика состояния сеанса приводит к тому, что страница ASPx приводит к появлению мусора? - PullRequest
0 голосов
/ 26 февраля 2010

У меня есть веб-приложение aspnet, которое до сих пор работало очень хорошо.

Меня недавно попросили изучить способы увеличения масштаба.

Я обнаружил, что разделение базы данных и Webapp поможет.

Далее мне сказали, что если я изменю свой механизм предоставления сеансов на SQLServer, я смогу дублировать веб-стек на несколько машин, каждый из которых сможет перезвонить на сервер состояний, что позволит лучше распределить нагрузку.

Это звучит логично. Поэтому я создал базу данных ASPState с использованием ASPNet_RegSQL.exe, как описано во многих местах в Интернете, и изменил файл web.config в своем приложении с:

<sessionState mode="InProc" cookieless="false" timeout="20" />

Кому:

<sessionState mode="SQLServer" 
 sqlConnectionString="Server=SomeSQLServer;user=SomeUser;password=SomePassword"
 cookieless="false" timeout="20" />

Затем я обратился к своему приложению, которое показало мне его экран входа в систему, и я должным образом вошел в систему.

Однажды меня представили со страницей, на которой не было страницы, которую я ожидал.

Я могу изменить состояние сеанса назад и вперед. Эта проблема исчезает, а затем возвращается в зависимости от того, какой набор конфигурации я использую.

Почему это происходит?

Ответы [ 2 ]

2 голосов
/ 26 февраля 2010

Приятная ошибка, Чувак:)

Возможно красная сельдь, но что вы храните в состоянии сеанса?

Когда вы переходите с InProc на SQL Server, содержимое, которое вы храните в SQL, должно быть сериализуемым (я думаю)

1 голос
/ 26 февраля 2010

Используйте Fiddler , чтобы увидеть, что на самом деле происходит по проводам. Мне кажется, ваше приложение отправляет изображение обратно, когда браузер ожидает HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...