【发布时间】:2012-06-26 23:09:21
【问题描述】:
我有一个使用 jQuery 的 $.ajax() 从 javascript 调用的 Web 服务 (ASP.NET 2.0)。有人告诉我,出于安全目的,会话密钥通常在这种情况下用作随机数; Web 服务将密钥作为其参数之一,并且仅在与当前会话密钥匹配时才返回数据。
我试图通过在每个Page_Load(即每个回发)上将隐藏字段的值设置为当前 SessionID 来完成此操作,然后在 javascript 中将其作为参数传递。但它永远不会与 Web 服务的当前密钥 (Context.Session.SessionID) 相同。
这是否可以解决,或者我应该以另一种方式解决?
编辑:根据要求在隐藏字段中设置会话的代码。
hfSession.Value = Context.Session.SessionID;
这是在 .ascx 控件的 Page_Load 中,不在任何条件下(即不使用 if (!Page.IsPostBack) 包装。
【问题讨论】:
-
您能否发布代码“在每个 Page_Load(即每个回发)上将隐藏字段的值设置为当前 SessionID”
标签: asp.net ajax web-services