12

私は持っている:

private readonly ReportingService2010 _rs = new ReportingService2010();

エラー:

The type or namespace name 'ReportingService2010' could not be found (are you missing a using directive or an assembly reference?)

SSRS サービスへの参照をセットアップします。参照では、ReportingService2010 に期待どおりにアクセスできません。最も近いものは次のとおりです。

MySsrsServiceNamespace.ReportingService2010SoapClient

ReportingService2010クラス をどのように使用すればよいですか?MSDNには、このクラスが漠然とリストされています。

を使ってみたことに注意してくださいReportingService2010SoapClient。このクラスは、ReportingService2010 のドキュメントと一致しません。たとえば、ListChildren()4 つのパラメーターのみを受け入れ、Url プロパティは存在しません。

4

4 に答える 4

39

まったく同じ問題に遭遇しました。ReportingService2010SoapClient クラスは利用できましたが、ReportingService2010 クラスは利用できませんでした。私を夢中にさせていた。「サービス参照」として追加しましたが、次のように「Web 参照」として追加する必要があります。

  1. 古いサービス参照を削除する

  2. 参照を右クリックします。[サービス参照の追加] ダイアログが表示されます。

  3. ここでは WSDL URL を入力しないでください。左下にある [Advanced] ボタンをクリックします。

  4. 「サービス参照設定」ダイアログが表示されます。

  5. 左下にある [Web 参照の追加] ボタンをクリックします。

  6. ここで、WSDL の URL を入力します。(私にとっては servername/ReportServer/ReportService2010.asmx でした)

  7. 右側の小さな矢印をクリックすると、読み込みに時間がかかります。

  8. Web 参照に名前を付けます。私は "ReportingService2010WebReference" を使用しましたが、ReportingService2010" も同様に機能する可能性があります。

  9. 「参照を追加」をクリック

  10. コード内で、using ステートメントを「using .ReportingService2010WebReference (または任意の名前) に更新します。

コード:

private MySol.ReportService2010WebReference.ReportingService2010 rsClient;

rsClient = new ReportingService2010();
rsClient.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

CatalogItem[] items = null;

items = rsClient.ListChildren("/", false);

foreach (var item in items)
{
    tr.ErrorMessage += (item.Path + " " + item.CreatedBy);
}

最初の試みに取り組みました。Web.config ファイルは変更されていません。

于 2014-08-26T02:09:59.533 に答える
1

Web参照を追加しないでください

次の手順に従うと、問題なく動作します。

1) .netframework >= 4.6.1 があることを確認してください

2) 管理者としてコマンド プロンプトを実行します。

3) cd C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 ツール

4) クラスを生成します: wsdl /proxyusername:Username /proxypassword:Password -out:Reportingservice2010.cs http://Servername/Reportserver/ReportService2010.asmx?wsdl

追加) wsdl /? を実行します。ファイルは次の場所に出力されます: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools

5) .cs ファイルをプロジェクトに追加します。

于 2016-11-24T13:15:24.147 に答える