0

我正在尝试仅为特定区域注册 HTTP 处理程序。所以不必在根 web.config 中注册它。

如果我在根 web.config 中注册处理程序,它工作正常:

<system.web>
  <httpHandlers>
    <add path="/Telerik.ReportViewer.axd" verb="*" type="Telerik.ReportViewer.WebForms.HttpHandler, Telerik.ReportViewer.WebForms, Version=6.2.12.1017, Culture=neutral, PublicKeyToken=a9d7983dfcc261be" validate="true" />
  </httpHandlers>
</system.web>

但是在区域内的 web.config 中,即 area\reporting\views\web.config 它似乎没有注册处理程序。我得到以下异常:

报告查看器所需的 http 处理程序尚未在应用程序的 web.config 文件中注册。添加到配置文件的 system.web/httpHandlers 部分。

任何建议将不胜感激。

4

1 回答 1

0

您的问题是困扰我们许多人的问题:区域配置不是项目中配置继承树的一部分。它们仅用于配置其中的视图和交付。

您的一个选择是创建一个从该处理程序继承的包装类,全局注册它并仅当您在当前上下文的 routeData 中发现该区域时调用它的功能。

我希望这在某种程度上有所帮助。这些年来,我确实感受到了自己的痛苦。

于 2013-04-05T14:45:54.937 回答