秘密結社ぎゅう☆ぎゅう倶楽部でタグ「クロスドメイン Silverlight Xap」が付けられているもの

 すでにSilverlight3もリリースされており、とっても気にはなっているのですが、実はまだまったく触っていません。
 だってSilverlight2と3の開発環境が、共存させられないって言うんですもの...(ノ∀`)
 一応、ちょっとしたハックで双方を同時に開発できる環境を構築することも可能なようですが、ちょっと怖いのでまだ試していません。

 さて、通常は、SilverlightアプリケーションをホストするHTMLファイルと、SIlverlightアプリケーション本体であるXapファイルは、同じサーバに配置することが多いと思います。
 リファレンスにも、「セキュリティ上の理由から、Silverlight プラグイン インスタンスがホストされている HTML ページとは異なるサイトの URI を Source プロパティとして設定することはできません。」という記述がありますし、実際に異なるドメインのサーバにファイルを配置してみても、多くの環境では、Silverlightアプリケーションが起動しないのではないかと思います。

 それでは本当にHTMLとXapを別々のサーバに配置して、Silverlightアプリケーションを起動させることができないのかというとそうではなく、実はそれが可能な方法がちゃんとあります。
 ポイントは、Xapファイルにアクセスした際にサーバが返す"Content-type"ヘッダです。
 Xapファイルが配置されている側のサーバに、XapファイルのMIME Typeとして"application/x-silverlight-app"を登録してやることにより、HTMLとXapが別々のサーバに配置されていても、正常にSilverlightアプリケーションを起動させることができます。

 但しこれは、試してみたら出来たというだけの話で、環境などの要因によって結果が異なる場合もあるかもしれませんし、また、HTML側のJavaScriptとSilverlightの連携などの機能が、一部正常に動作しない場合もあるようなので、どうしてもという場合以外は、同じサーバ上にファイルを配置しておいた方が安心だと思います。

タグ