2010-02-10 44 views
0

我有,我想在Silverlight 3应用程序来访问会话变量。我怎样才能以最好的推荐方式做到这一点?访问asp.net变量

+0

你也应该考虑为什么您使用的是会话这是天生的Silverlight中的服务器端的概念,它是客户端? – 2010-02-10 12:12:59

回答

0

如果它是一个可变值,会话初始化之后即更改,使用一个Ajax或WCF调用服务端点获取/设置的值。 ScriptService或'启用Ajax的WCF'端点都可以访问会话。

如果该值是不可变的托管页面正在呈现,你可以,我不建议这样,写出来作为一个JSON对象托管页面。

+0

对不起,但我不明白你说什么!任何例子?我必须通过所有这些才能访问Session [“myvar”]吗? – ScG 2010-02-10 03:43:48

+0

您想在应用程序启动时获取一次吗?还是随着时间的推移,它会随着时间的推移而变化? – 2010-02-10 18:16:46

1

在您的Silverlight的aspx主页对象标签:

<param name="initParams" value="myvar=<%=Session["myvar"] %>" /> 

然后检索app.xaml.cs值

private void Application_Startup(object sender, StartupEventArgs e) 
    { 
     this.RootVisual = new Page(); 
     myvar = e.InitParams["myvar"]; 
    } 

不是最安全的方式和已经只注意最适合不可变的会话变量。

这是已经提出的另一种方法是使用公开WCF服务会话变量。这一切都取决于你想如何检索值,你要如何安全的过程是,其中的一些方法,你要访问的值,并从那里(在网页或Silverlight应用程序)。我希望这有些道理。