2012-01-20 3 views
1

なぜこのエラーが表示されるのかよくわかりません。 私は、HTTPを使用している場合は、私が得る...そうhttp://test.staging.com/mywebsite/Login「指定された要求を現在のアプリケーションプールから実行できません」というメッセージが表示されるのはなぜですか?

マイログインビューはMVCを使用してちょうどやり直しだったが、私もaspxページに行くこの同じエラーメッセージを見ているように私のログインビューに

をナビゲートエラーメッセージ指定された要求は、現在のアプリケーションプールから実行できません。 私がhttps://test.staging.com/mywebsite/Loginを使用している場合、私は良いです。 私はtest.staging.com/mywebsite/Login、プロトコルを指定しない場合、私は

、同様のエラーを取得

は、エラーがカバーの下に起こっと hereを議論のように、私のカスタムエラーページを表示することはできませんありますか?

このエラーのその他の原因は何ですか?

答えて

2

あなたは、プール内の1つまたは多数のアプリケーションのためのASP.NETの異なるバージョンを使用しているので、それは可能性があります。

  1. そして、あなただけの新しいアプリを追加した場合は、ASPの異なるバージョンに一時的にアプリを変更してみてください
  2. (例えばASP 2.0.50727)プール内のすべてのアプリケーションは、ASPの同じバージョンを使用していることを確認します同じバージョンに戻ります。私は、表示されたバージョンが正しいという問題を経験しましたが、そのフードの下で、別のバージョンが使用されました!
  3. エラーの詳細を取得するには、アプリケーションの下で、あなたのイベントログを確認してください。
2

これは、通常、カスタムエラーが別のAppPoolとして実行されるように設定されていることを意味します。

at MSDNを読むことができます。 (「別のアプリケーションプールからのカスタムエラーの使用」を参照)。

この動作を修正するには2通りの方法があります。最初は、現在のアーキテクチャを変更し、同じアプリケーションプール内で両方のサイトを実行する必要があるため(同じワーカープロセスのメモリスペースを共有するなど)、興味のあるものではない可能性があります。これを行うには、/ errors仮想ディレクトリを、カスタムエラーを処理するサイトと同じアプリケーションプールで実行するだけです。

第二の方法は、IIS 6.0が提供するレジストリキーを利用することです。このレジストリキーは、IIS 6.0がカスタムエラーの実行中にメタデータをチェックしないようにして、これが機能するようにします。

は、レジストリキーの修正に関する情報についての記事を参照してください。

また、あなたが別のアプリケーションプールにあるページへServer.Transferの線に沿って何かを使用していることを意味します。

+0

レジストリにW3SVCノードにIgnoreAppPoolForCustomErrors DWORD値を追加しようと、私はまだエラーを取得します。 – topwik

2

メッセージは、別のアプリケーションプールによって提供されるページにあなたのページのサーバー側のリダイレクトに起因します。たとえば、あなたのリンクで、エラーページ。

1

これは古いスレッドだと知っていますが、私はそれを見つけて別の解決策を見つけました。ここでは私のために働いた:あなたのアプリケーションを処理することを確認します。ASMXファイルが正しく

IISから

:、「GET: 右、あなたのプロジェクト]> [プロパティ]> [設定

必要な場合はをクリックして

リミットASPNET_ISAPI.DLLにマップの.asmxファイルの拡張子を追加しますHEAD、POST、DEBUG "と再起動します。

-1

vcsjonesさんの回答にはコメントできませんので、ここで追加します。 IgnoreAppPoolForCustomErrors DWORD値は、そのテクニカル記事で参照されているHKLM \ SYSTEM \ CurrentControlSet \ Services \ W3SVC \ パラメータとHKLM \ SYSTEM \ CurrentControlSet \ Services \ W3SVCの間で設定する必要があります。それを1に設定してiisresetを実行すると、あなたは良いことです。

Source Blog Post

関連する問題