SQL Server s-s-rS 2012 网页中的 HTTP 元标记

Posted

技术标签:

【中文标题】SQL Server s-s-rS 2012 网页中的 HTTP 元标记【英文标题】:HTTP Meta Tags in SQL Server s-s-rS 2012 Web Pages 【发布时间】:2014-07-28 07:41:52 【问题描述】:

我们在 Windows Server 2008 上安装了带有 s-s-rS 的 SQL Server 2012。 除非在 IE 10 中启用兼容模式,否则报告无法正确显示会出现一些问题。

我们还有一个具有相同设置的开发服务器,但是报告加载正常,因为报告服务器呈现的所有页面都具有以下元标记: <META HTTP-EQUIV="X-UA-Compatible" CONTENT="IE=5">

我们的生产服务器没有这个,我试图在那里添加相同的元标记,但无法弄清楚最初设置我们的开发服务器的人是如何以及不再在这里的。

我尝试查看 MSRS11.MSSQLSERVER\Reporting Services\ReportServerPages 并编辑 ReportViewer.aspx,但无论我如何修改元标记,或者即使我将其从文件中完全删除,所有呈现的页面仍然具有原始页面我上面提到的那个。

然后我尝试查看 MSRS11.MSSQLSERVER\Reporting Services\ReportManager\Pages,认为我可以编辑单个文件,如 Folder.aspx 或 Report.aspx,但是当我打开这些文件时,它们包含的所有内容都是这样的:

    <%@ Page language="c#" Codebehind="Folder.aspx.cs" AutoEventWireup="false"                 Inherits="Microsoft.ReportingServices.UI.FolderPage" EnableEventValidation="false" %>
    <%@ Register TagPrefix="MSRS" Namespace="Microsoft.ReportingServices.UI" Assembly="ReportingServicesWebUserInterface" %>

所以没有地方添加元标记。 我还查看了 web.config,没有看到任何将元标记添加到所有页面的内容。

我不知道还能去哪里看,也不知道元标记是如何添加的。 这显然不是开箱即用的默认设置,因为它不在我们的生产环境中。

【问题讨论】:

【参考方案1】:

我找到了一个似乎可以正常工作的解决方法,尽管标记看起来很奇怪。您只需将下面的标记添加到 ... \ReportManager\Pages\Report.aspx

<head>
 <meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>    
</head>

当它被渲染时,源包含两个元标记,但它使用这个(在 IE 11 上测试)。

【讨论】:

看起来 IE-5 元标记被硬编码到类 ReportingPage 的名为“Microsoft.ReportingServices.UI”的 dll 中。 我也有同样的问题。您的解决方案有效,但它很老套……还有其他建议吗?

以上是关于SQL Server s-s-rS 2012 网页中的 HTTP 元标记的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2008 s-s-rS 主页错误

将凭据传递给 Sql Report Server 2008

SQL Server 报告服务 (s-s-rS) 事件

我们如何分配权限来设置 SQL Server Reporting Services

SQL Server 2008 R2 / s-s-rS 2008:服务水平报告创建

s-s-rS:解析来自具有 XML 列的 SQL Server 查询的结果