web-dev-qa-db-ja.com

web.configのhttpHandlersセクションでの内部サーバーエラー

Telerikのフォームコントロールを使用するasp.netWebサイトがあります。新しいサーバーに移動したばかりですが、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>
17
DisgruntledGoat

新しいサーバーに移動したばかりだとおっしゃっていますね。これはIIS6からIIS7 +への移行でしたか?

IIS7は、IIS6 <system.webServer\handlers>セクションの代わりに<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>

validateIntegratedModeConfiguration="false"を使用すると、エラーをスローせずにhttpHandlersセクションにデータを入力しておくことができ(cassini/iis6サーバーでデバッグしている場合に便利です)、<handlers>セクションのエントリでIIS7サーバー用に構成されます。 。

runAllManagedModulesForAllRequests="true"は厳密には必須ではありませんが、IIS7の構成に慣れていない場合は、おそらく必要になるでしょう:)

40
rtpHarry

新しいサーバーはおそらくIIS7を実行していますか?

次に、これを試してください

<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
Danler

また、「ハンドラー」セクションで指定した正確なバージョンがあることを確認してください。 web.configを機能させるために、実際にはweb.configで指定されたVersion、Culture、およびPublicTokenパラメーターは必要ありません。アプリケーションで複数のバージョンを使用している場合に備えてあります。それらが指定されていない場合、サーバーはプロジェクトで参照されていることが最初に見つかったものを使用します。したがって、アセンブリの1つのバージョンのみを使用している場合は、パラメータを省略できます。

2
cgcarter1

プロジェクトでTelerik DLL Telerik.Web.UI.dllが参照されていること、およびCopyLocalが "true"に設定されていることを確認してください。また、([ファイル] | [プロパティ]を使用して)サーバー上の正しいバージョンも。

0
Jeremy McGee