首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Reserved.ReportViewerWebControl.axd cookie累积

Reserved.ReportViewerWebControl.axd cookie累积
EN

Stack Overflow用户
提问于 2013-05-13 19:13:25
回答 1查看 2.2K关注 0票数 3

我对Microsoft ReportViewer有一个问题。对于每个新生成的报告,都会添加一个新的cookie,如下所示:/Reserved.ReportViewerWebControl.axd%3FOpType%3DSessionKeepAlive%26ControlID%3Df6166329be5f4b00aa32320285ffaf55_SKA,直到服务器因为请求中包含太多cookie而开始出现Bad Request - Request too long错误。我曾尝试手动使这些cookie过期,但没有成功。我的报表查看器初始化代码:

代码语言:javascript
复制
var credentials = new ReportViewerCredentials { NetworkCredentials = System.Net.CredentialCache.DefaultCredentials};            
           mainReportViewer.ServerReport.ReportServerCredentials = credentials;
           mainReportViewer.ProcessingMode = ProcessingMode.Remote;
           mainReportViewer.ReportError += OnReportError;
           mainReportViewer.ShowRefreshButton = false;
           mainReportViewer.ShowWaitControlCancelLink = false;
           mainReportViewer.ShowBackButton = false;
           mainReportViewer.ShowCredentialPrompts = false;
           mainReportViewer.AsyncRendering = true;
           mainReportViewer.ServerReport.ReportServerUrl = new Uri(ConfigurationManager.AppSettings["ReportServerUrl"]);
           ExtractReportParametersFromCookie(mainReportViewer);
           mainReportViewer.ServerReport.Refresh();

Web.Config:

代码语言:javascript
复制
<system.web>
      <httpHandlers>
        <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false" />
      </httpHandlers>
      <compilation debug="true" targetFramework="4.5">
        <assemblies>
          <add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
          <add assembly="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
          <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        </assemblies>
        <buildProviders>
          <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
        </buildProviders>
      </compilation>
   </system.web>
   <system.webServer>
      <handlers>
         <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*"  path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
      </handlers>
   </system.webServer>

也许有人有办法解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2013-09-20 22:40:40

看起来KeepSessionAlive="False"解决了这个问题,可以用作变通方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16520703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档