ラベル C# の投稿を表示しています。 すべての投稿を表示
ラベル C# の投稿を表示しています。 すべての投稿を表示

2012年6月5日火曜日

[Silverlight] UIスレッド上で処理を実行する。

System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>{ .... });

HtmlPage.Window.Navigate で cookie を使用する。




Silverlightなんかで、画面を切り替えるときに HtmlPage.Window.Navigate で遷移させたりしますけども、
その時にCookieを使用したいと思いました。

System.Net.Cookieとかあるからこれを使うのかと思ったけども、どうやら違う。
こいつはHttpWebRequestの時に使うみたい。
それじゃあ、こまります。
ええ、困りますとも。
だって画面遷移をさせたいんだから。

さてどうするかと言うと、System.Windows.Browser.HtmlPageのDocumentプロパティのSetPropertyで設定してあげればいいんでがす。

[[サンプル]]
HtmlPage.Document.SetProperty( "cookie", "Key1=Value1" );
        HtmlPage.Document.SetProperty( "cookie", "Key2=Value2" );
        HtmlPage.Window.Navigate
        (
            new Uri( "http://....", UriKind.RelativeOrAbsolute),
            "_self"
        );



で、Cookie情報を取得するには HtmlPage.Document.Cookies プロパティに格納される。
これは文字列でドバーっと入ってるので、いいように加工して使うしか無いんでしょうか。
めんどくさい。

LINQで配列


// AからZまでのchar型の配列を生成 var az = new (List<char>)(System.Linq.Enumerable.Range('A', 'Z' - 'A' + 1).Select(i => (char)i).ToArray());