1

我对 SL5 Pop-up 有奇怪的问题。

我的 SL5 应用程序工作并从位于其他域的 WCF 服务获取数据。一键单击,调用一些服务方法并返回文件路径。从服务返回时,结果用于打开弹出窗口。由于它不是用户实例化的,因此使用以下代码来实现此目的

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 并在浏览器中打开,我可以下载该文件。我已经检查了弹出窗口阻止程序设置和代理连接。

4

0 回答 0