のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,645,852人
昨日:no data人
今日:
最近の注目
人気の最安値情報

元スレMicrosoft Silverlight その5

silverlight覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 799 + - CombBox選択 + - IService + - MouseWheelScroll + - セキュリティーエラー + - デバッグ + - デバッグ用のリソース文字列は利用 + - 直接 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

752 = :

>>719
よく見れば分かるけど、別ページには飛んでないよ。
変化するのは#から後ろだけで、URL的には同一ページ内の
アンカーの移動という扱い。
これはSilverlightでも一緒。

753 = :

自分もボチボチ作ってるけど結構見落としに気づかされた。

754 = :

君のHPにまとめてくれ

755 = :

<navigation:Frame>だね。
ASP.NETのマスターページを使った事がある人なら、似たようなナビゲーション遷移を実現できるよ。

Silverlight 4 の OutOfBrowserモードなら、2ch専用リッチクライアントも
可能なんだろうな。wktk

756 = :

こんなのを見つけた。
http://download.microsoft.com/download/2/9/4/2941f55e-24a9-40fa-8e8d-791bd7a4e02f/Jp-BreakingChangesB1ToB2.pdf
日本語での各種情報提供も、Silverlight 3 以降、すっかり止まっちゃったね。

ところで、非同期な ServiceClientのCloseAsync()メソッドって、~Completed() Delegateメソッド内での
結果処理の終わりで呼ぶのが常識?
俺、全部の処理で ~Async()メソッドの直後に続けて呼ぶコードを記述しちゃってたよ。アチャー
もしかして、「・・・チャネルが閉じられ・・・」エラーはこれが原因かもしれん!!!

757 = :

Close(CloseAsync)は未完了の操作を完了してから閉じるはず
問答無用で閉じるのはAbort

758 = :

閉じなきゃいけなかったんだ…

759 = :

>>757
今までは、↓のように書いていたけど、
 ServiceClient sc = new ServiceClient();
 sc.~Completed += new … (sc_~Completed);
 sc.~Async();
 sc.CloseAsync();

さっき、↓の様に sc_~Completed()内でCloseAsync()を呼ぶ様にプロジェクト全体を書き換えたら
安定度がアップしたけど、気のせいなのかな。

void sc_~Completed ( sender, e )
{
  if ( !e.Canceled ) {
    if ( e.Error == null ) {
      if ( e.Result … ) {
        正常系 期待結果処理 ;
      }
      else {
        正常系 非期待結果処理 ;
      }
    }
    else {
      異常系 例外結果処理 ;
    }
  }
  else {
    ユーザ操作キャンセル 例外処理 ;
  }
  ((ServiceClient)sender).CloseAsync();
}

760 = :

>>758
Microsoftによれば、CloseAsync()を呼ばずに自動Disposeお任せも「準推奨」でOKとのこと。

761 = :

>>759
リファクタリングしてくれ。ガード節での置き換えな。
うちの会社でそれやったら………俺が2chで愚痴る。

762 = :

あ、いや・・・すまん
けど、2chの「改行が多すぎます」エラー対策で申し訳ないっすw(_ _)

763 = :

>>761
プッ

764 = :

俺のネタが発端で、ココ本家Silverlightスレが1日で100レス以上も伸びました。
ココこそ、正統派「Silverlight登場で.NET使い大勝利」なスレだと感じた次第・・・

貴重な週末の夜に遅くまで引き留めてしまい、たいへん恐縮でした。
また、バグ出し&叩きを有難うございました。独りでは決して顕在化できなかったであろう
致命的なコード上の潜在不具合も、大部分が解消したと思います。
あー、早く失業から脱出して同業に戻りたいーーー!

765 = :

>>760
その記述見たこと無いわ 良かったらどこにあったか教えて欲しい

766 = :

Breaking Changes for SL Beta 2  * 内容はSL2 b1→b2での非互換な変更
http://download.microsoft.com/download/2/9/4/2941f55e-24a9-40fa-8e8d-791bd7a4e02f/Jp-BreakingChangesB1ToB2.pdf

多分この辺りの話し。これ以降の変更はないはず
ただし、Closeしないと接続方法と利用方法によってはリソースリークすることがあるので注意

767 = :

>>765
>>756で見付けた過去のドキュメントの中に記されていたと思うよ。
これを見て、Silverlightは 2 で大きく変わったんだと気付いた。

 推奨  適切にCloseAsync()を呼ぶ
 準推奨 CloseAsync()を呼ばない(お任せ)
 非推奨 Close()やDispose()を呼ぶ

Completed()に入る前の変なタイミングにCloseAsync()を置いていても何となく動いていたのは、
たまたま.NETのガベイジコレクション機構での回収ラグに助けられていただけの様な気がする。

昨夜に該当箇所をすべて書き換えてから、今のところWCF通信が途絶える現象は発生していない。
意地悪く、通信処理を時系列的にオーバーラップさせてみたけど平気なようだ。
他の原因もあった可能性も考えられるけど、この修正によってロバスト達成が得られたと思う!

768 = :

proxy.DoWorkAsync();
proxy.CloseAsync();

でエラーになるとすればそれはフレームワークのバグだから報告するといい。
と、ここまで書いて思いついたんだが、

proxy.DoWork1Completed += (sender, e) => { proxy.DoWork2Async(); };
proxy.DoWork1Async();
proxy.CloseAsync();

みたいなアホなことしてたということはないか?

769 = :

>>768
昨夜までの修正前のコードに、それと等価になるケースは


1箇所あったんだよなー orz。正常かつ期待ルートを通らない場合に。

771 = :

Bug Trackingなんて最近はやってないな。
昔、某N社がLinuxカーネルの評価検証をしていた部門にはお邪魔した事があったが。
曲芸のようなスレッディングを展開するベンチのオンパレード。
コンソーシアムと保守契約事業者にだけバグ情報や独自パッチ、問題回避ノウハウを提供。

772 = :

とりあえずこれだな
http://social.msdn.microsoft.com/Forums/en/wcf/thread/5546f5c2-55b4-4110-9c5e-4a234660e8b1

773 = :

>>772
I'm sure of my insight, thank you.

774 = :

遅くなったが、>>766, 767 ありがとう

775 = :

>>772さんに申し訳ないので、↓のやり取りを訳してみた。
クリストファーさんの回答を言葉通り信用すれば大丈夫でみたいですね。
> 私のSilverlight アプリケーションでは、[サービスの参照の追加(S)...]で生成されたWCF proxyを使用しています。
> どのタイミングでproxyを閉じるべきでしょうか?
> 非同期のレスポンスが到着する前、サービスを呼んだ直後にproxyを閉じることは安全ですか?
>
> private void proxy_GetUserCompleted(object sender, GetUserCompletedEventArgs e)
> {
> }
>
> Proxy proxy = new Proxy();
> proxy.GetUserCompleted += new EventHandler<GetUserCompletedEventArgs>(proxy_GetUserCompleted);
> proxy.GetUserAsync();
> proxy.CloseAsync();
>
> インターネット上で有用なドキュメントもサンプルも見付けられませんでした。
> アドバイスを頂けたら感謝します!
>
> ミッシェル ミランダ (美人講師 22才 独身)

サービスによる向こうからの通信を待たない場合はproxyを閉じても構わないでしょう。
これ(proxyを閉じても構わない)は、送ったリクエストに対するすべてのレスポンスを取得したと確信した場合も含まれます。

マイクロソフト WCF Silverlight担当 ソフトウェアデザインエンジニア
クリストファー スクロセイティより

776 = :

自分は
○○Client wcf = new ○○Client();

wcf.aaaCompleted += ...
wcf.bbbCompleted += ...
wcf.cccCompleted += ...
みたいに書いて、一切closeせずいろんなとこからwcfを繰り返し利用してたけど
エラーみたいなのは無かったなw

778 = :

うーん??どうなんだろね。
WebSocket でも WCF 使えそうな気もするしなぁ。

でも個人的に JavaScript + HTML のみでごつい UI 書くの正直辛い。

779 = :

そのうちガワHTMLでロジックSilverlightみたいになるかもね

780 = :

>>775
クリスの返信の1行目の訳はミスリーディングだと思う
communicationを通信と訳すとおそらく齟齬が生じる

> You should close your proxy when you don't expect further communication with the service.
そのサービスとこれ以上のコミュニケーションを望まないのであれば、proxyを閉じるべきでしょう

これ以上云々というのは現時点を以ってデータの転送を止めるという意味ではなく、
以後オペレーション・コントラクトの呼び出し(i.e. リクエスト)を行わないということ
また、事前にリクエストしていたものは(意思の疎通がなくても)滞りなく処理される

と解釈するのが正しいはず

782 = :

言いたい事は解るが「ミスリーディング」って意味違うんじゃ

783 = :

miss leading だからな。miss reading ではない。

784 = :

▽業務->注文受付状況->注文明細を印刷
  用紙サイズに合わせた印刷に対応

これは何気に押さえておきたかったポイント age

785 = :

>>782-783
ミスにリードされるのも、いいかな

786 = :

あなたのリードで島田も揺れる

787 = :

アクセシビリティに関して思ったけどあれだね。
業務アプリ画面での商品登録のシーンなんだけど、新たな登録作業や登録済み内容の編集では、
業務アプリはオペレータに専用のChildWindowを出し、そこで登録内容の入力をしてもらって、
オペレータの入力完了の意思表示のタイミングでValidationをした方が良さそうだな。
メイン画面の方は登録内容を確認するための閲覧機能だけにして。
.NETが提供しているValidationメカニズムもそれを想定したスタイルみたいだし。

791 = :

韓国人しね

792 = :

MIX10見てるか~

Release Candidate of Silverlight 4 available for download today
Expression Blend 4 is free upgrade from version 3.
Final version of SL4 will ship in April

793 = :

マジか!



ブレンド4は無料です、だけわかった。
日本語で頼む。

794 = :

忘れてて見に行ったら、なんかゲームやってた

795 = :

きたぞ
http://silverlight.net/getstarted/silverlight-4/

796 = :

WP7なかなか頑張ってるじゃないか。
日本で出るまでにはフォントやIMEの関係で時間掛かりそうだけど。

797 = :

Silverlight 4 Tools for Visual Studio 2010 変更なし
Windows Runtime or Mac Runtime が新しくなって
Expression Blendが 4 Beta になった、てことかな

798 = :

ランタイム入れたらいきなり今作ってる最中のSilverlight4アプリが動かなくなった
「このアプリケーションは期限切れのベータ版で作成されました」的なメッセージが。

799 = :

Microsoft Silverlight 4 Tools for Visual Studio 2010 RC
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=05b2c62c-6b1d-4822-9b2b-7d1410af452d

こっちから新しいの落とせた

800 = :

>>799
サンクス。2010RC用か…
ついに入れるときが来たか


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / silverlight一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 799 + - CombBox選択 + - IService + - MouseWheelScroll + - セキュリティーエラー + - デバッグ + - デバッグ用のリソース文字列は利用 + - 直接 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について