配置 Web.Config 文件

ASP.NET Web 应用程序中的 Web.Config 文件存储全局设置,比如数据库连接信息、程序集引用以及错误处理。此文件以 XML 格式编写,并且其根元素必须始终为 <configuration>。这是一个高级配置,并且不是必需的。

以下元素是 Crystal Reports 独有的,并可以添加到 Web.Config 文件中。

Note注意

根据所拥有产品的不同,版本号可能会发生变化。

CrystalImageHandler

CrystalImageHandler 元素在 CrystalReportViewer 控件中显示所有动态图像。此设置配置 ASP.NET 辅助进程,以便将对 CrystalImageHandler.aspx 所做的请求重定向到仅限内部的图像处理程序类。如果 Web.Config 文件中没有 CrystalImageHandler 设置,则网站上的图像将不会显示。向网站中添加 CrystalReportViewer 控件时,此元素将被自动添加到 Web.Config 文件。

<system.web>
<httpHandlers>
<add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
</httpHandlers>
</system.web>

CrystalImageCleaner

CrystalImageCleaner 进程自动删除 CrystalReportViewer 控件呈现的动态生成的图像。利用此设置可以设置删除文件之前扫描图像目录和文件存在的最短时间的时间间隔。向网站中添加 CrystalReportViewer 控件时,此元素将被自动添加到 Web.Config 文件。此元素对应于 CrystalImageCleaner 类。

  • CrystalImageCleaner-Sleep 初始化图像清理器在扫描和清理动态图像目录中的图像文件之前休眠的时间(以毫秒为单位)。
  • CrystalImageCleaner-Age 初始化文件在被删除之前存在的最短时间(以毫秒为单位)。
  • CrystalImageCleaner-AutoStart 控制 CrystalImageCleaner 进程。图像清理器清理在查看其值设置为 true 的报表时创建的临时图像。
Note注意

在单一 ASP.NET 辅助进程中只能启动一个图像清理器。

<appSettings>
<add key="CrystalImageCleaner-AutoStart" value="true" />
<add key="CrystalImageCleaner-Sleep" value="60000" />
<add key="CrystalImageCleaner-Age" value="120000" />
</appSettings>

printControl

利用 printControl 元素可以将报表直接打印到本地打印机。默认情况下,此控件不会安装在本地计算机上,并且必须单独下载。可以从 Business Objects 技术支持网站 http://technicalsupport.businessobjects.com/ 上下载 PrintControl .cab 文件。此设置使该 .cab 文件在 Crystal Reports.NET 网站上可见。需要将此元素手动添加到网站的 Web.Config 文件中。

<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="printControl" type="System.Configuration.NameValueSectionHandler, System, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" />
</sectionGroup>
</sectionGroup>
</configSections>

<businessObjects>
<crystalReports>
<printControl>
<add key="url" value="https://localhost/PrintControl.cab" />
</printControl>
</crystalReports>
</businessObjects>

reportMappings

在 Visual Studio 2005 或更高版本中打开在 Visual Studio 2003 中创建的使用嵌入报表的网站时,reportMappings 元素可将这些网站更新为非嵌入网站。此设置将在 Visual Studio 2003 中创建的 .dll 文件转换为磁盘文件。Visual Studio 2005 和 2008 不支持嵌入网站,因此必须修改 Web.Config 文件以确保报表在较新版本的 Visual Studio 中仍然功能正常。需要将此元素手动添加到网站的 Web.Config 文件中。reportMappings 设置需要绝对路径。

Note注意

此元素仅对 Visual Studio 2005 和 Visual Studio 2008 有效。

<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="reportMappings" type="CrystalDecisions.Shared.ReportMappingHandler, CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
</sectionGroup>
</sectionGroup>
</configSections>

<businessObjects>
<crystalReports>
<reportMappings>
<add reportName="World Sales Report.rpt" path="C:\Report\World Sales Report.rpt" />
</reportMappings>
</crystalReports>
</businessObjects>

UseBrowserLocale

UseBrowserLocale 元素为 CrystalReportViewer 控件检索浏览器中的语言设置。如果设置为 True,此设置将 CrystalReportViewer 控件配置为监视浏览器区域设置。如果设置为 False,此设置将逐页面限制显示的区域设置。需要将此元素手动添加到网站的 Web.Config 文件中。

<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
</sectionGroup>
</sectionGroup>
</configSections>

<businessObjects>
<crystalReportViewer>
<add key="UseBrowserLocale" value="true" />
</crystalReportViewer>
</businessObjects>

serverFileReportManager

serverFileReportManager 元素是一个 Web 服务,它枚举服务器计算机上的服务器文件。利用此设置可以从远程计算机获取对象(文件夹和报表)的列表。此设置将文件目录的根目录分配给服务器。在此示例中,根目录设置为 c:\inetpub\wwroot。需要将此元素手动添加到网站的 Web.Config 文件中。

Note注意

此元素对应于 serverFileReportManager 类。

<configSections>
<sectionGroup name="crystalDecisions">
<section name="serverFileReportManager" type="System.Configuration.NameValueSectionHandler, System, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" />
</sectionGroup>
</configSections>

<crystalDecisions>
<serverFileReportManager>
<add key="rootDirectory" value="c:\inetpub\wwwroot" />
</serverFileReportManager>
</crystalDecisions>

globalResourcePath

globalResourcePath 元素引用全局资源的文件目录路径。此文件目录包含位于中央位置的自定义语言资源,并且可跨多个 Web 应用程序共享。利用此设置可以访问特定网站中的全局资源。在 CrystalReports.NET 中,安装产品时不会安装默认资源文件,但可以从 Business Objects 技术支持网站 http://technicalsupport.businessobjects.com/ 下载这些资源文件。需要将此元素手动添加到网站的 Web.Config 文件中。

<appSettings>
<add key="globalResourcePath" value="c:\CrystalReportViewer_resource_files\"/>
</appSettings>

示例 Web.Config 文件

<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="CrystalImageCleaner-AutoStart" value="true"/>
<add key="CrystalImageCleaner-Sleep" value="60000"/>
<add key="CrystalImageCleaner-Age" value="120000"/>
</appSettings>
<connectionStrings/>
<system.web>
<compilation debug="true">
<assemblies>
<add assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportSource, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.Enterprise.Framework, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.Enterprise.Desktop.Report, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.Enterprise.InfoStore, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
</assemblies>
</compilation>
<authentication mode="Windows"/>
<httpHandlers>
<add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
</httpHandlers>
</system.web>
</configuration>

请参见