在调试期间修改ASP.NET会话?

时间:2012-05-29 09:57:31

标签: asp.net visual-studio debugging session immediate-window

是否可以在调试ASP.NET页面时修改值,键甚至清除会话? 我在立即窗口(按所示顺序)中尝试了以下操作,但没有更改Session对象:

Session.Clear()
Expression has been evaluated and has no value

Session.Keys
{System.Collections.Specialized.NameObjectCollectionBase.KeysCollection}
    Count: 12

Session.Clear()
Expression has been evaluated and has no value

Session.Keys[0]
"user_id"

Session.Abandon()
Expression has been evaluated and has no value

Session["user_id"]
3

编辑:好的,看起来我可以有时更改它。这非常令人费解。如果有人知道为什么它有时会失败,我会很感激拥有这些知识。

1 个答案:

答案 0 :(得分:0)

可以在调试模式下使用Intermediate和Command Windows更改会话 只要确保你没有任何代码(例如,属性的getter,一个打印“{HttpContext.Current.Session["some_key"] = [some value];}等”消息“的流氓Trace Point,等等,它会在你做出更改后重置这些值。

(经验教训。)