我正在尝试仅为特定区域注册HTTP处理程序。所以不必在root web.config中注册它。
如果我在root 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中,即域\ reporting \ views \ web.config 它似乎没有注册处理程序。我得到以下异常:
报表查看器所需的http处理程序尚未在应用程序的web.config文件中注册。添加到配置文件的system.web / httpHandlers部分。
任何建议都将不胜感激。
答案 0 :(得分:0)
您的问题困扰着我们许多人:区域配置不是项目中配置的继承树的一部分。它们仅用于配置其中的视图和交付。
您可以选择创建一个从该处理程序继承的包装类,全局注册它并仅在您在当前上下文的routeData中发现该区域时调用它的功能。
我希望这在某种程度上有所帮助。多年来我一直感受到这种痛苦。