编程语言
首页 > 编程语言> > 我可以在aspx页面和silverlight应用程序中共享会话变量吗?

我可以在aspx页面和silverlight应用程序中共享会话变量吗?

作者:互联网

我必须创建一个发布-订阅silverlight应用程序.发布事件的类在类库中.

我有一个.Net Web解决方案,其中包含Silverlight项目和一个asp.net Web项目.
asp.net项目使用类库中的某些类.这些类公开了一些事件,一旦被触发,我就获取返回的数据并将其存储在会话变量中.

我创建了几个会话变量-主要是列表类型.

我想通过将用户重定向到包含silverlight插件的aspx页面来启动silverlight xaml页面.

我想使用会话变量中的列表,并在数据网格中显示它们.

我可以在aspnet和silverlight应用程序之间共享会话变量吗?什么是实现此推挽目标的最佳方法,即当类引发事件时,我获取数据并显示在Silverlight图表中,并且在类发布新事件时刷新图表?

解决方法:

您不能在ASP.NET和Silverlight之间共享会话变量.原因很容易理解:ASP.NET运行服务器端,Silverlight运行ClientSide.

但是,您可以通过网络服务调用从客户端获取这些信息.例如,使用WCF,您可以为WebService激活ASP.NET会话,并通过适当的序列化将这些信息发送到客户端.为了获得良好的结果,需要对会话数据的序列化有充分的了解(例如,使用WCF,返回键入的数据).

有关为WCF服务激活ASP.NET会话的信息,请参阅see this

还要记住,由于默认的ASP.NET会话管理使用cookie来存储会话令牌客户端,因此,如果您的Silverlight应用程序绕过浏览器网络堆栈,则必须自己管理cookie.幸运的是,Silverlight默认情况下使用浏览器堆栈.

标签:asp-net,c,silverlight
来源: https://codeday.me/bug/20191208/2090205.html