web.config的httpHandlers部分的内部服务器错误

Dis*_*oat 17 asp.net web-config telerik

我有一个使用Telerik表单控件的asp.net网站.它只是移动到一个新的服务器,但我不断收到500内部服务器错误.

删除web.config的httpHandlers部分会导致服务器错误消失,但是如果页面上有Telerik控件则会报告.整个配置文件是有效的XML.这段代码有什么问题吗?

<httpHandlers>
    <add path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI, Version=2008.2.826.20, Culture=neutral, PublicKeyToken=121fae78165ba3d4" validate="false"/>
</httpHandlers>
Run Code Online (Sandbox Code Playgroud)

rtp*_*rry 40

我看到你提到它刚搬到新服务器.这是IIS6到IIS7 +的迁移吗?

IIS7使用<system.webServer\handlers>而不是IIS6 <httpHandlers>部分.除此之外,如果您在旧部分中具有设置,即使正确填充了新部分,它也会默认抛出错误.

试试这个:

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true">
      <!-- modules go here -->
    </modules>
    <handlers>
      <!-- modules go here -->
      <add name="Telerik.Web.UI.WebResource" path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI, Version=2008.2.826.20, Culture=neutral, PublicKeyToken=121fae78165ba3d4" />
    </handlers>
Run Code Online (Sandbox Code Playgroud)

validateIntegratedModeConfiguration="false"将允许您保持您的httpHandlers部分填充而不会抛出错误(如果您在cassini/iis6服务器上进行调试很有用),该<handlers>部分中的条目将为您的IIS7服务器配置它.

runAllManagedModulesForAllRequests="true"不是严格要求的,但如果您不熟悉配置IIS7,您可能会发现自己需要它:)