首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >web.config的httpHandlers部分出现内部服务器错误

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

Stack Overflow用户
提问于 2011-09-08 20:19:10
回答 4查看 28.7K关注 0票数 17

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

删除web.config的httpHandlers部分可以消除服务器错误,但如果页面上有Telerik控件,它会发出警告。整个配置文件都是有效的XML。这段代码有什么问题吗?

代码语言:javascript
复制
<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>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-08 20:34:01

我看到你提到它刚转移到一个新的服务器。这是从IIS6到IIS7+的迁移吗?

IIS7使用<system.webServer\handlers>而不是IIS6 <httpHandlers>部分。最重要的是,如果你在旧的部分中有设置,那么默认情况下它会抛出一个错误,即使新的部分是正确填充的。

试试这个:

代码语言:javascript
复制
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true" />
          <!-- modules here -->
        </modules>
        <handlers>
          <!-- modules 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>
   </system.webServer>

validateIntegratedModeConfiguration="false"将允许您在不抛出错误的情况下填充httpHandlers部分(如果您在cassini / iis6服务器上调试,则非常有用),并且<handlers>部分中的条目将为您的IIS7服务器配置它。

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

票数 40
EN

Stack Overflow用户

发布于 2011-09-08 20:29:14

新服务器是否正在运行IIS7?

那就试试这个

代码语言:javascript
复制
<system.webServer>      
 <handlers>
        <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"/>           
 </handlers>
</system.webServer>
票数 2
EN

Stack Overflow用户

发布于 2011-09-08 20:32:27

此外,请确保您拥有在处理程序部分中指定的确切版本。实际上,您不需要在web.config中指定版本、区域性和公共令牌参数即可使其工作。如果你在你的应用程序中使用多个版本,它们就在那里。如果不指定它们,服务器将使用它在项目中找到的第一个引用。因此,如果只使用程序集的一个版本,则可以省略参数。

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

https://stackoverflow.com/questions/7347897

复制
相关文章

相似问题

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