2010年02月25日

MouseWheel イベントが複数回入ってしまう

Silverlight3 で、MouseWheel に対応するアプリケーションを開発中におかしな現象を見つけました。

Windows 上の IE, Chrome, Safari では正しく処理するのに、Firefox だけは、MouseWHeel イベントが複数回入ってしまうという現象に悩まされました。

いろいろ調べて、次のように e.Handled = true とすると複数回イベントを回避できることがわかりました。

Private Sub MainPage_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Input.MouseWheelEventArgs) Handles Me.MouseWheel

' ...
e.Handled = True 'To avoid multiple events.
' ...

posted by 開発G at 17:29| Comment(0) | TrackBack(0) | Silverlight

2009年02月14日

Silverlight でクロスドメインを有効にする

Silverlight では、通常、ホスティングされているサイトにしかアクセスしないので、クロスドメインの問題は発生しませんが、他のサイトの情報を読み出す場合には、このクロスドメインの問題が発生します。

クロスドメインの問題を解決するには、ホストするサーバ側に、
clientaccesspolicy.xml ファイルか、crossdomain.xml ファイルを配置します。つまり、サーバ側で、どのドメインからのアクセスは許可するかを指定できるわけです。サーバ側で許可していないサイトからのアクセスはエラーになります。こうしておけば、他人がそのサイトをアクセスするようなプログラムは書けないわけで、セキュリティは保てますね。納得。

実際に、実験してみたけど、clientaccesspolicy.xml か、crossdomain.xml のどちらかをサーバのルートに配置しておけばいいみたい。ルートなじゃいと動かない点に注意。

参考資料:
ドメインの境界を越えてサービスを利用できるようにする

---

その後、再び同じ問題にあたっていろいろ調べたけど、Silverlight の場合、clientaccesspolicy.xml ファイルを、サービス提供側のルートに配置したらうまくいきました。

このときの参考資料:
クロスドメインについて

posted by 開発G at 12:23| Comment(0) | TrackBack(0) | Silverlight