ユーザーが大きなリストから好きなだけ SSRS (サブ) レポートを選択できるようにする Silverlight アプリケーション (ブラウザーで実行するためのもの) があります。選択したサブレポートが 1 つの大きなレポートに集約され、このレポートが新しいウィンドウで起動されます。各サブレポートには、独自のパラメーター セットがあります。そのため、パラメーター値リストは非常に長くなる可能性があります。以前は、アプリケーションは GET メソッドを使用してパラメーター値を渡していました。
http://<serverName>/_vti_bin/ReportServer/Pages/ReportViewer.aspx?http://<reportPath>&rs:Command=Render&rs:ClearSession=true&rc:Parameters=false&rc:Toolbar=true&rc:Zoom=100&FacilityUniqueValues=A&WorkWeek=0&...
しかし、パラメーターと値のリストが長いと、URL が 2000 文字を簡単に超える可能性があります。この長さ以上になると、レポートは失敗します。ブラウザは HTTP 404 ページを表示するだけです。これはどこかで URL の長さの制限が原因であると考えたので、解決策を調べた後、この SO answerで説明されているとおりに、POST メソッドを使用してパラメーターを渡すようにしました。上記の URL は次のようになります。
http://<serverName>/_vti_bin/ReportServer/Pages/ReportViewer.aspx?<reportPath>
ただし、パラメーター値のリストが長い場合、問題は以前とまったく同じように持続します。
リストが短く、レポートが正常に表示されると、ブラウザーは次の形式の URL にリダイレクトされることに気付きました。
http://<serverName>/_layouts/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=<relativeReportPath>&rv%3aParamMode=Hidden&rv%3aZoom=100&rp%3aFacilityUniqueValues=A&rp%3aWorkWeek=0&...
つまり、とにかく、値は GET パラメータになります。多くのレポート パラメータがある場合に、URL の長さの制限を回避するために POST を使用するように多くの推奨事項を見てきましたが、これが理解できません。
それで、投稿されたパラメーターを伝播する方法はありますか? または、この問題を回避する別の方法はありますか?
私は関連する技術のほとんどに非常に不慣れなので、含まれていない関連する詳細については申し訳ありません。どのような情報が役立つか教えてください。