次の方法で共有


Visual Studio 2005 でのサーバー ファイルの設定

サーバー ファイルとは、IIS サーバー上のレポートを公開するレポート Web サービスの集合を指します。本来、サーバー ファイルは、Visual Studio .NET 2002 で Crystal Reports の Crystal サービス ノードとして提供されましたが、その後このノードは削除されています。これ以降のバージョンの Crystal Reports は SDK でサーバー ファイルをサポートしていますが、各バージョンでサーバー ファイルのいくらかの設定作業が必要です。

サーバー ファイルは、基になるレポート ファイルから生成されます。このレポート ファイルは、Web サーバーのファイル ディレクトリにあるサンプル レポート フォルダ(またはユーザーが指定したフォルダ)に保存されます。

サーバー ファイルを設定する

Visual Studio 2005 または 2008 のサーバー ファイルを設定するには、次の 2 つの手順を実行する必要があります。まず、レポートを公開するレポート Web サービスを作成します。次に、新しい Web サービスに対応する web.config ファイルを変更します。Visual Studio 2005 では、Visual Studio .NET 2002 のサーバー ファイルの設定フォルダを廃止し、web.config ファイルへの設定エントリの追加を推奨しています。

各プロジェクトの web.config ファイルには、1 回に 1 つずつ設定エントリを入力できます。ただし、その代わりにこの設定エントリをレポート Web サービスが含まれている仮想ディレクトリにある web.config ファイルに追加することをお勧めします。

サーバー ファイルに必要なレポート Web サービスを作成する

  1. Visual Studio を起動します。

  2. [ファイル]メニューの[新規作成]を選択し、次に[Web サイト]をクリックします。

  3. [新しい Web サイト]ダイアログ ボックスで、[言語]リストから[Visual C#]を選択します。

  4. テンプレートのリストから[ASP .NET Web サービス]をクリックします。

  5. [場所]フィールドで、デフォルトのプロジェクト名をユーザー指定のプロジェクト名に置き換えます。

    この例では、プロジェクトに CrystalReportsWebServices という名前を付けて C:\InetPub\wwwroot\ に保存します。

    C:\InetPub\wwwroot\CrystalReportsWebServices\
    
  6. [OK]をクリックします。

  7. [デバッグ]メニューの[デバッグ開始]をクリックします。

    ダイアログ ボックスが表示され、Web.config ファイルの変更が必要であることが示されます。[OK]ボタンをクリックしてデバッグを有効にします。

  8. デバッグが完了したら、アプリケーションに戻ります。

  9. ソリューション エクスプローラで、Service.asmx を右クリックし、[削除]をクリックします。

  10. ソリューション エクスプローラで、App_Code フォルダを展開して Service.cs を右クリックし、[削除]をクリックします。

  11. ソリューション エクスプローラで太字のプロジェクト名を右クリックし、[新しい項目の追加]をクリックします。

  12. [新しい項目の追加]ダイアログ ボックスで、次の手順を実行します。

    1. [インストールされたテンプレート]フィールドから、[Web サービス]を選択します。
    2. [名前]フィールドに、「ServerFileReportService.asmx」と入力します。
    3. [別のファイルにコードを書き込む]をアンチェックします。
    4. [追加]をクリックします。
  13. ServerFileReportService.asmx ファイルの内容を次の行で置き換えます。

    <%@ WebService language="C#"
    class="CrystalDecisions.Web.Services.ServerFileReportService" %>
    
  14. [ファイル]メニューの[すべて保存]をクリックします。

  15. ソリューション エクスプローラで太字のプロジェクト名を右クリックし、[新しい項目の追加]をクリックします。

  16. [新しい項目の追加]ダイアログ ボックスで、次の手順を実行します。

    1. [インストールされたテンプレート]フィールドから、[Web サービス]を選択します。
    2. [名前]フィールドに、「ServerFileReportManager.asmx」と入力します。
    3. [別のファイルにコードを書き込む]をアンチェックします。
    4. [追加]をクリックします。
  17. ServerFileReportManager.asmx ファイルの内容を次の行で置き換えます。

    <%@ WebService language="C#"
    class="CrystalDecisions.Web.Services.ServerFileReportManager" %>
    
  18. [ファイル]メニューの[すべて保存]をクリックします。

web.config ファイルにサーバー ファイル設定エントリを追加する

  1. ソリューション エクスプローラから、Web.Config ファイルを開きます。

  2. Web.config ファイル全体の内容を次の XML で置き換えます。

    次の例では、ルート ディレクトリの値をレポートが格納されているディレクトリに変更します。この例では、ファイル パスは C:\program files\Microsoft Visual Studio 8\Crystal Reports\Samples\jp\Reports\Feature Examples に設定されます。

    <?xml version="1.0"?>
    
    <configuration
    xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0">
    <configSections>
    <sectionGroup name="crystalDecisions">
    <section name="serverFileReportManager"
    type="System.Configuration.NameValueSectionHandler, System,
    Version=1.0.3300.0, Culture=neutral,
    PublicKeyToken=b77a5c561934e089, Custom=null"/>
    </sectionGroup>
    </configSections>
    
    <crystalDecisions>
    <serverFileReportManager>
    <add key="rootDirectory" value="C:\program files\Microsoft Visual Studio 8\Crystal Reports\Samples\jp\Reports\Feature Examples"/>
    </serverFileReportManager>
    </crystalDecisions>
    <appSettings/>
    <connectionStrings/>
    
    <system.web>
    <compilation debug="true">
    <assemblies>
    <add assembly="CrystalDecisions.Web, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
    </assemblies>
    </compilation>
    </system.web>
    </configuration>
    
    Note

    PUT_FILE_DIRECTORY_PATH_TO_REPORTS_FOLDER_HEREが含まれているレポート フォルダへのファイル ディレクトリ パスを入力する必要があります。レポート フォルダへのパスについては、「サンプル レポートのディレクトリ」を参照してください。

  3. web.config ファイルへの変更を保存します。

  4. ビューアの仮想ディレクトリが機能することを確認するには、ブラウザを開き、公開されたレポート Web サービスへの URL を入力します。

    https://localhost/CrystalReportsWebServices/ServerFileReportService.asmx?wsdl
    

古いサーバー ファイルとビューアの仮想ディレクトリ

以前のバージョンの Crystal Reports では、サーバー ファイルは、ビューアの仮想ディレクトリにある集中 Web サービスから IIS 経由で提供されました。これ以降のバージョンの Crystal Reports は、IIS で“ビューアの仮想ディレクトリ”という名前で追加のディレクトリが作成されます。これにより、Crystal Reports の複数のバージョンを維持できます。

前のバージョンの Crystal Reports を使用してプロジェクトのサーバー ファイルをコード化し、その後で Crystal Reports のバージョン アップを行う場合には、追加された“ビューアの仮想ディレクトリ”がメンテナンス上の問題になります。使用するコードで、各 ServerFileReport インスタンスの WebServiceURL プロパティに格納されている“ビューアの仮想ディレクトリ”の名前を、現在のレポート Web サービスの場所に変更し、ServerFileReport インスタンスを有効にする必要があります。

Note

各バージョンの“ビューアの仮想ディレクトリ”の名前をパスを確認するには、「ビューアの仮想ディレクトリ」を参照してください。

ServerFileReport インスタンスの WebServiceURL プロパティで“ビューアの仮想ディレクトリ”を変更する

  1. プロジェクトで、ServerFilesReport インスタンスの WebServiceURL プロパティが割り当てられているビューアの仮想ディレクトリを探します。

  2. コードで現在割り当てられているビューアの仮想ディレクトリの名前を、以前のバージョンで使用されていたビューアの仮想ディレクトリの名前と比較します。

    詳細については、「ビューアの仮想ディレクトリ」を参照してください。

  3. ユーザーの最高位にインストールされている Crystal Reports のバージョンで使用されているビューアの仮想ディレクトリ名を変更します。

    ユーザーの最高位にインストールされている Crystal Reports のバージョンが Crystal Reports for Visual Studio 2005 の場合、このチュートリアルの前半で作成したレポート Web サービスのパスを入力します。

  4. 再コンパイルを行い、レポートが正しくロードすることを確認します。

関連項目