原文地址: http://www.dingos.cn/index.php?topic=2000.0
第二十五章 从 Silverlight 控件访问 Session 变量
Silverlight 是客户端控件。它们执行在客户端浏览器上,他们不能直接访问服务器端的数据。
由于 Session 存在于 Web 服务器上, Silverlight 控件不能直接方法 他们。有几种方法 Silverlight 可以访问服务器端数据包括 Session 信息。
现在探讨一些从 Silverlight 控件访问 Session 信息的方案。
选项 1 : 将 Session 数据放到客户端以 VIEWSTATE 数据形式或 UI 控 件数据形式。这样做的缺点是数据不安全,仅能发送少量数据,数据对用户是可以见的。
选项 2 : 使用 Silverlight 控件的 InitParameters 属性将信息传递给 Silverlight 控件。这样的方式 也有数据不安全,只有少量数据可以发送等问题。
选项 3 : 调用 WCF 服务从服务器检索数据。这种方式, Silverlight 控件可以调用 WCF 服务检索大量数据,没有上面 2 方面的缺点。
使用 WCF 从服务的获取 Session 数据到 Silverlight 控件,你需要做的 是创建一个简单的 WCF 访问。这个服务应该有一个方法获取 Session 键值作为输入参数并返回 Session 对应的值,如下所示:
[OperationContract ]
public object GetSessionVariable(string key) {
return System.Web.HttpContext .Current.Session[key];
}