2009-06-10 13 views
1
断続

です。シルバーHtmlPage.PopupWindowは、私は次のコード行を持つ2つのSilverlightのアプリを持っている

2番目のアプリ(私の実際の、より複雑なアプリ)は、再起動後に初めてアプリを起動すると正しくブラウザウィンドウをポップアップさせますが、アプリを閉じてもう一度起動すると、実行される。私が再起動(Vista)した場合、最初は正しく動作します。

両方のアプリケーションが同じIISアプリケーションフォルダにインストールされ、同じweb.configを使用し、同一の.aspxホストを持ちます(もちろんaspxファイル名とSilverlightアプリ名は除きます)。

この2つ目のアプリケーションは、同じドメイン(同じアプリケーションフォルダ)にさまざまなWebサービスコールを戻しますが、そうでなければUI以外のものと対話しません(つまり、IsolatedStorageFileの読み書きはしません)何か違いがあればクッキー)。

私がAllowHtmlPopupWindow設定した

:私は次のように関係しているのか分からないが、興味深いことに、最初の(テスト)アプリはAllowHtmlPopupWindowは、上記のように、設定されているかどうかを正しく動作しない、または

<asp:Silverlight ID="Xaml1" runat="server" AllowHtmlPopupWindow="true" 

。 AND、それは、上記のように設定されていても(それが失敗したとき、それは正しく、偽働くときに、第2のアプリで、IsPopupWindowAllowedが真であるのに対し)

HtmlPage.IsPopupWindowAllowed 

は常にfalseです。

誰もが考えている?

答えて

0

問題はWebサービスへの呼び出しにあるようです。

proxy.CloseAsync(); 

その後、HtmlPage.PopupWindowへの後続の呼び出しが正常に動作します:私は、プロキシコールで明示的にWebサービスを閉じるとことがわかりました。 IsPopupWindowAllowedの値もこの場合一貫していました。 (IsPopupWindowAllowedがfalseのときにPopupWindowがテストアプリケーションで正常に動作した理由はまだ分かりません)

0

AllowHtmlPopupWindowは、クロスドメイン以外のアプリケーション(http://msdn.microsoft.com/en-us/library/cc974117%28VS.95%29.aspx)ではデフォルトでtrueです。より大きなアプリケーションはWebサービスを呼び出します。したがって、クロスドメインであり、AllowHtmlPopupWindowはデフォルトではfalseです。これはあなたの最後の発言を説明するだけです...

関連する問題