SL5 ポップアップに奇妙な問題があります。
私の SL5 アプリは動作し、他のドメインにある WCF サービスからデータをフェッチします。ボタンを 1 回クリックすると、何らかのサービス メソッドが呼び出され、ファイルのパスが返されます。サービスから戻ると、result を使用してポップアップ ウィンドウが開きます。ユーザーがインスタンス化したものではないため、これを実現するために次のコードが使用されます
new Repository().SaveExporttoExcelData(builder.ToString(), (result) =>
{
this.Dispatcher.BeginInvoke(() =>
{
var options = new System.Windows.Browser.HtmlPopupWindowOptions();
options.Left = 0; options.Top = 0; options.Width = 80; options.Height = 60;
string servicePath= path;
if (result != null)
{
string excelPath = servicePath.Replace("\\","/") +"/"+ result.ToString();
System.Windows.Browser.HtmlPage.Window.Eval(string.Format("window.open('{0}','{1}','{2}')", excelPath, "new", options.ToString()));
}
else
{
MessageDialog.Show("Error in downloading file. Please try again.");
}
});
});
VS から SL5 アプリを実行していて、サービスが prod サービス環境を指している場合、これは正常に機能します。しかし、本番 Web で xap をホストすると、同じ SL が機能しません。私はcitrixを使用していますが、Webがホストされている同じネットワークからも同じことが機能します。ポップアップを開く前に、プロキシ接続も閉じました。
URL が正常に生成され、しばらくポップアップが表示され、ファイルをダウンロードせずに閉じます。URL をコピーしてブラウザで開くと、ファイルをダウンロードできます。ポップアップ ブロッカーの設定とプロキシ接続を確認しました。