本文档说明如何了如何部署使用了 XtraReports 的 ASP.NET 应用程序。 注意,本示例仅对 Visual Studio 2005、2008 或 2010 有效。 关于部署 Web 应用程序的一般概念,在 Microsoft ASP.NET QuickStarts Tutorial 中进行了说明。

这是把 ASP.NET 应用程序部署到服务器的基本操作步骤。

  1. 安装适当版本的 .NET framework。
  2. 在目标 IIS 上新建一个虚拟目录 (例如 MyTestApp) (控制面板 | 管理工具 | Internet 信息服务),并把它链接到待部署应用程序所在的物理文件夹,使用默认的设置。

  3. 把 WebForm1.aspx 文件作为虚拟目录(Web 应用程序) 的默认文档。

  4. 把应用程序的 aspx 文件 (在默认情况下,文件名为 WebForm1.aspx) 复制到已链接虚拟目录的文件夹中。

  5. 把应用程序的 Bin 子文件夹 (包含了一个 DLL 文件) 复制到相同文件夹中。

  6. 把下列程序集 (位于开发机器的 "<DevExpress 20010.2>\Components\Sources\DevExpress.DLL\" 中) 复制到步骤 5 创建的 Bin 子文件夹中,或者直接把它们安装到目标 Web 服务器的 GAC 中。

    - DevExpress.Utils.v10.2.dll
    - DevExpress.Data.v10.2.dll
    - DevExpress.XtraEditors.v10.2.dll
    - DevExpress.Charts.v10.2.Core.dll (仅当报表包含至少一个 XRChart 控件时)
    - DevExpress.PivotGrid.v10.2.Core.dll (仅当报表包含至少一个 XRPivotGrid 控件时)
    - DevExpress.RichEdit.v10.2.Core.dll (仅当报表包含至少一个 XRRichText 控件时)
    - DevExpress.XtraCharts.v10.2.dll (仅当报表包含至少一个 XRChart 控件时)
    - DevExpress.XtraPivotGrid.v10.2.dll (仅当报表包含至少一个 XRPivotGrid 控件时)
    - DevExpress.XtraRichEdit.v10.2.dll (仅当报表包含至少一个 XRRichText 控件时)
    - DevExpress.XtraPrinting.v10.2.dll
    - DevExpress.XtraReports.v10.2.dll
    - DevExpress.Web.v10.2.dll
    - DevExpress.Web.ASPxEditors.v10.2.dll (仅当 ASP.NET 应用程序包含至少一个 ReportToolbar 控件时)
    - DevExpress.XtraReports.v10.2.Web.dll

    Note注意

    典型地,应把 中度信任 权限级别指派到由 DevExpress 提供的程序集,以便于在产品服务器上使它们能正常工作。 但是,在某些情况下,需要 完全信任 权限级别。 要学习更多关于这些限制的内容,请参阅 中度信任支持 文档。

    Note注意

    如果依照 Windows 窗体部署 文档,不需要部署某些程序集,但离开它们仍然不能使应用程序工作,那么请确保在项目的 引用 列表中、或 Web.config 文件的 assemblies 列表中没有包含它们。

  7. 注意,我们的服务 JavaScript 和图像文件已经被作为资源文件嵌入到程序集中,因此不需要作出特殊的调整(诸如把服务文件复制到特定的物理文件夹中,在 IIS 中创建相应的虚拟目录等) 使服务脚本和图像文件可用于产品服务器上的应用程序。 唯一需要做的事情,是正确地部署我们的程序集。

  8. 重要 在把应用程序复制到产品服务器上之后,对于网站的 App_Data 文件夹,必须把完全的控制权限给予 NETWORK SERVICE 用户。 这是必须的,因为在某些耗用资源的操作期间 (例如 导出 时), XtraReports 需要把临时文件保存到磁盘上。

  9. 根据需要调整应用程序所使用的数据文件 (如果有) 的访问权限。

  10. 可以通过创建特殊的 Web.config 文件,来调整部署的 Web 应用程序的设置。

    注意,在把 ReportToolbar 或 ReportViewer 控件添加到 Web 应用程序之后 (仅第一次),会对 Web.config 文件作出更改。 下列代码被添加到其中。

    Web.config
    <configuration>
        <system.web>
        <httpModules>
          <add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v10.2,
          version=10.2.0.0, Culture=neutral, PublicKeyToken=_" name="ASPxHttpHandlerModule" />
        </httpModules>
        </system.web>
        <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules>
          <add type="DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v10.2,
          Version=10.2.0.0, Culture=neutral, PublicKeyToken=_" name="ASPxHttpHandlerModule" />
        </modules>
      </system.webServer>
    </configuration>

    要学习更多关于 ASPxHttpHandlerModule 的内容,请参阅 ASPxperience 文档中的下列主题: HttpHandler 模块

  11. 确保在 Web.config 文件中,SessionState 被启用 (设置为非 Off 模式),否则,XtraReports 将不工作。

    Web.config
    <system.web>
        <sessionState mode="SQLServer">

        </sessionState>
    </system.web>

  12. 使用下列链接加载应用程序: http://localhost/MyTestApp

在涉及 Web 应用程序部署的 MSDN 库中,有许多可用的文章可供您回顾。 也可以访问下列网页来学习更多内容: http://samples.gotdotnet.com/quickstart/aspplus/doc/deployment.aspx

Expand image参阅