は、我々は、SilverlightアプリケーションからAsp.Netにセッション変数にアクセスできます我々は、SilverlightアプリケーションからAsp.Netにセッション変数にアクセスすることができます
2
A
答えて
2
Silverlightアプリケーションは、クライアントブラウザ上で実行されているので、あなたはそれからSessionオブジェクトにアクセスすることはできません。
セッションは、作成するセッションごとにasp.netによって作成されるオブジェクトです。セッションは、cookieまたはurlを使用してユーザーセッションを認識します。
5
セッション変数の値を取得する方法は2つあります。
最初は、SilverlightアプリケーションをホストするASPXページの生成されたHTMLに値を含めることです。 silverlightオブジェクトのInitParams
<Param>
タグの値を追加します。
<param name="initParams" value="myValue=<%=Server.HTMLEncode(Session["myValue"].ToString())%>" />
今Silverlightのコードでこの値にアクセスすることができます -
string myValue = Application.Current.Host.InitParams["myValue"];
上記は、最も可能性の高いシナリオです。 Silverlightアプリケーションの実行中にセッション値を変更する必要がある場合や、変数の潜在的な変更値を読み取る必要がある場合でも、状況はトリッキーです。
多くの場合、これを支援するためにWCFの作成をアドバイスします。あるいは、非常に単純なサーバー側の作業を助けることができるXmlを単純に受け入れ、返す.ashxファイルを作成する傾向があります。
0
上記のAnthonyWJonesの答えがうまくいきます。私はちょうど私の状況を少し変えなければなりませんでした。 initParams変数は、実際には、キーと値のペアであり、あなたのSilverlightコードから適切にアクセスするためのように指定する必要があります:.NET 4.5およびあたりの通りです
<param name="initParams" value="myKey1=myValue1,myKey2=myValue2" />
は多分これが2011年これで前の回答以降に変更しましたSilverlight 5
anthonywjonesの回答としてこれを行うことができます。 – Bahamut