Как просмотреть переменные сеанса в отладчике Visual Studio 2008?

Обычно использование отладчика Visual Studio очень просто. Сканирование через Locals быстро показывает значения переменных и т. д. Однако я в недоумении, как узнать значения, содержащиеся в переменных состояния сеанса? Может ли кто-нибудь дать мне руку? Допустим, я поставил точку останова сразу после:

Session["first_name"] = "Rob Roy";

Как просмотреть значение, содержащееся в Session["first_name"], от местных жителей?


person Dave Mackey    schedule 30.03.2010    source источник


Ответы (3)


Довольно просто проверить сеанс во время отладки. Просто поставьте точку останова в своем коде и просто выделите свой код Session (например, выделить: Session["first_name"]), затем щелкните правой кнопкой мыши и выберите QuickWatch....

Это настроит часы на вашем Session для значения, которое вы определили. Вы также можете проверить другие элементы Session, настроив поле Expression в окне QuickWatch и нажав кнопку Reevaluate.

person Kelsey    schedule 30.03.2010
comment
@davemackey Если это помогло вам и правильно, отметьте это как правильный ответ :) - person Kelsey; 01.04.2010
comment
Большое спасибо, я просматривал эти дурацкие древовидные меню и ничего не понял! - person Dal; 11.08.2010
comment
Я ищу способ просмотреть все значения сеанса одновременно. Я вижу все ключи, но не связанные с ними значения. Вы знаете, возможно ли это или это можно сделать только один за другим в соответствии с вашим ответом? - person Steve Chambers; 16.04.2013
comment
@SteveChambers только один за другим. Если у вас есть все ключи, нет причин, по которым вы не могли бы пройтись по ним и отобразить значения. - person Kelsey; 16.04.2013
comment
@Kelsey спасибо - жаль, что невозможно просмотреть все ключи / значения одновременно, тем более что окно Immediate не допускает зацикливания. Подход «один за другим» выполним, но не идеален. - person Steve Chambers; 16.04.2013

В VS вы можете просто поместить 'Session["first_name"]' в окно Immediate и выполнять его во время выполнения кода. Это вернет значение, которое оно содержит.

Если вы не можете найти его, перейдите к: Просмотр > Другое окно команд Windows > или нажмите Ctrl+W, A

Это будет выглядеть так: Скриншот:

Я знаю, что это немного запоздалый ответ, но для всех, кто заинтересован, я надеюсь, что это поможет!

person P-Bagels    schedule 20.11.2014

Не правда ли HttpContext.Current.Session("..."), спрашиваю я, потому что давно не пользуюсь ASP.NET.

person Preet Sangha    schedule 30.03.2010
comment
Хм... Ничего подобного не нашел. - person Dave Mackey; 01.04.2010
comment
Вы должны использовать HttpContext.Current.Session(...) вне веб-формы... как в другом классе... или DLL. - person Chris Catignani; 05.02.2018