Могут ли они конфликтовать с хост-приложением при создании составных элементов управления и использовании сеанса? - PullRequest
2 голосов
/ 22 декабря 2010

Я написал составной веб-элемент управления, который используется в нескольких веб-приложениях. Если я использую переменные сеансов, например HttpContext.Current.Session("MyProgramMemberId"), могу ли я рискнуть, что узел хоста также может определить то же имя ключа сеанса?

Мне бы хотелось услышать о вашем опыте, если у вас возникла проблема с этим. Это было бы бонусом, если у вас есть ссылка на сайт, которому вы доверяете.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 22 декабря 2010

Я не могу сказать, что у меня есть какой-то реальный опыт с этим (в основном потому, что я бы этого не делал), но да, абсолютно возможно, что вы можете столкнуться с другой переменной сеанса с именемТо же самое в веб-приложении хостинга.

Я бы предложил удалить зависимость от переменной сеанса и вместо этого использовать переменную ViewState .Они более изолированы от конкретных случаев вашего контроля и, следовательно, не должны конфликтовать друг с другом.Конечно, есть соображения, основанные на том, что вам нужно хранить, вы должны быть осторожны, пытаясь хранить большие объекты, списки, словари, а также конфиденциальную информацию в состоянии просмотра (которое в конечном итоге передается клиенту).Но, исходя из вашего примера кода, похоже, что это простое свойство Id, которое мало и (обычно) не чувствительно.

1 голос
/ 22 декабря 2010

Это также зависит от того, как вы настроили свой веб-сайт. Если вы повторно используете элемент управления в разных веб-приложениях, но на одном и том же сайте, это не должно быть проблемой. Если вы повторно используете их в одном приложении, это будет проблемой дизайна.

Если вы спрашиваете, нужно ли вам беспокоиться, не совпадут ли имена ваших сеансов, если вы переходите на общий хост, вам не о чем беспокоиться. То, о чем вам придется беспокоиться, это если вы храните свой сеанс InProc. Если вы храните свои значения InProc и ваш сайт сбалансирован по нагрузке, могут возникнуть проблемы, так как балансировщик выбирает разные серверы для обслуживания вашего контента.

...