web-applications Webアプリケーションの問題(web.configのエラー)IIS7.5とASP.NET v2のHTTP 500.19
新しいマシンでこれと1日の戦いをした後、私は次のリンクに出くわしました。 書き換えモジュールがありませんでした。 このすべてが修正されました。
http://forums.iis.net/t/1176834.aspx
http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/
これはチーム全体を夢中にさせている。 IISまたはWebサーバーの一部の構成が間違っている必要がありますが、IIS 7.5でASP.NET Webアプリケーションを実行しようとするたびに、次のエラーが表示されます。
ここには完全なエラーがあります:
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration
data for the page is invalid.
`Detailed Error Information`
Module IIS Web Core
Notification Unknown
Handler Not yet determined
Error Code 0x8007000d
Config Error
Config File \\?\E:\wwwroot\web.config
Requested URL http://localhost:80/Default.aspx
Physical Path
Logon Method Not yet determined
Logon User Not yet determined
Config Source
-1:
0:
マシンはWindows Server 2008 R2を実行しています 。 Visual Studio 2008を使用してWebアプリケーションを開発しています。
マイクロソフトによると、コード8007000dは、web.configに構文エラーがあることを意味します。プロジェクトがビルドしてローカルで正常に動作することを除けば、 XMLのweb.configを見ると、メモ帳は構文エラーも発生しません。 私はそれが何らかの貧弱な設定でなければならないと思っています。
誰が私がエラーに関する詳細情報をどこに見つけるか知っていますか? EventViewerに何も表示されていません。
言いたいことが他に何か分かりません...
援助は大変に感謝しています。 ありがとう!
アップデート! - POSTED WEB.CONFIG BELOW
上の質問を投稿してから、エラーの原因となっていたweb.config内の正確な行を追跡しました。
ここにラインがあります(それらは<System.webServer>
タグの間に現れます)...
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</httpHandlers>
注: <httpHandlers>
間の行を削除すると、エラーが発生します。 私は文字通り<httpHandlers>
(および<httpHandlers>
の行)を削除して、上記のエラーを止めなければなりません。
私はこれをした後、私は新しい 500.19エラーを取得します。 ありがたいことに、今回IISは実際にweb.configのどのビットが問題を引き起こしているかを教えてくれます...
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</handlers>
これらの行を見ると、同じ<system.webServer>
タグ内でさらに問題が<handlers>
タグに移行していることが明らかです。
また、新しいエラーはより明示的であり、特に、上記の3行目のように、属性「validate」を認識しないという不満があります。 この属性を削除すると、同じ行に必須の "name"属性が含まれていないと不平を言ってしまいます。 この属性を追加するとASP.NETエラーが発生します...
ファイルまたはアセンブリ 'System.web.Extensions、Version = 1.0.61025.0、Culture = neutral、PublicKeyToken = f2cb5667dc123a56'またはその依存関係の1つを読み込めませんでした。 システムは、指定されたファイルを見つけることができません。
明らかに、これらの新しいエラーは私が最初に<httpHandlers>
タグを削除することから生じたものであると思われます。アプリケーションによって明らかに必要とされているので、質問が残っています。最初の場所???
IISと連携するために何かをインストールする必要がありますか?
助けてくれてありがとう。
WEB.CONFIG
ここに私たちのweb.Configの面倒なビットがあります...これは誰かが私たちの問題を見つけるのを助けることを願っています!
<system.Web>
<!-- stuff cut out -->
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</modules>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</handlers>
</system.webServer>
上記と同じ問題、同じエラーコードなどがありました。Windows 8でローカルWebサイトを設定しています。多くの検索の後、URL書き換えが不足していました。 それをダウンロードした後はすべてうまくいきました。 :)
私はちょうど同じ症状(しかし別の問題)を解決しようと何時間も過ごしたので、私はちょうど、返事を追加する:
考えられる原因は、64ビットのアプリケーションプール内のx86 dllです。解決策は、アプリケーションプール設定で32ビットのアプリケーションを有効にすることです。
ここと他の答えに基づいて要約すると:
- アプリケーションプールの.NETバージョンを確認します(たとえば、2.0 vs 4.0)
- すべてのIIS参照モジュールがインストールされていることを確認します。 この場合はAJAXの拡張機能でしたが(最近のケースではそうではないかもしれませんが)、 URLリライトは一般的なものです。
これは関連するかもしれないし、関連していないかもしれない....私は上記の同じエラーで始め、グーグルで始めて、変更を加え、新しいエラーを出して、無限ループになった。
このエラーで私が苦しんでいたのは、IISマネージャーのサーバーの管理セクションにある機能委任を使いこなすことでした。 申し訳ありませんが、私は変更されたものを覚えていませんが、グーグルが助けになるかもしれません。
それは、最初のエラーを完全に新しいものにしてしまいました。完全に無意味なものもありました。 (仮想ディレクトリの下で実行しているときに1つのエラーが発生し、アプリケーションに変換すると別のエラー、etecなどが発生する)。 この一連のエラーを最終的に解決したのは、IISマネージャ、アプリケーションプール、DefaultAppPool、32ビットアプリケーションを有効にする= True
私は32ビットのWindows XPのボックスでこのアプリを起動していましたが、今は64BitのWindows 7のボックスで実行しています。
だからうまくいけば、これは他の誰かを助ける。
web.configファイルの次の行にコメントを付けます。
<modules>
<!--<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-ISAPI-2.0"/>
<!--<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptResource" verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</handlers>
これは動作します。
Windows 7でも同じ問題がありました。
解決策は、デフォルトのパススルーの代わりに、基本設定>特定のユーザーとして接続 - ユーザーとしてログインすることでした。
これは私の問題を解決しました。
私は<system.webServer>
代わりに<system.web>
中に<system.webServer>
<customErrors>
タグを置くことでこのエラーを受け取ります。 <customErrors>
タグの下に少し揺れがありましたが、すぐに気付かなかったのです。