1. ホーム
  2. asp.net

[解決済み] <modules runAllManagedModulesForAllRequests="true" /> 意味

2022-02-24 17:37:02

質問事項

の意味を知りたかったのです。

<modules runAllManagedModulesForAllRequests="true" />

IIS 7.5を使用しており、簡単なWebアプリケーションを持っています。Web.configファイルにこれを書く必要がありますか? 私はまた、jqueryのajax呼び出しのためのいくつかのhttpハンドラを書いています。 私は、フォーム認証とasp.net 4.0を使用しています。

どのモジュールを実行し、どのモジュールを実行してはいけないかを判断するにはどうしたらよいですか?

どのように解決するのですか?

モジュールの前提条件。

IIS コアエンジンは、特定のモジュールを有効にするタイミングを決定するために前提条件を使用します。例えば、パフォーマンス上の理由から、 マネージドハンドラへのリクエストに対してのみ、 マネージドモジュールを実行するように決定されるかもしれません。次の例の前提条件 ( precondition="managedHandler" ) は、.aspx や .asmx ファイルへのリクエストなど、 マネージドハンドラによって処理されるリクエストに対してのみ、 フォーム認証モジュールを有効にします。

<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />

属性を削除すると precondition="managedHandler" フォーム認証は、.html, .jpg, .doc のようなマネージドハンドラによって提供されないコンテンツにも適用されますし、クラシックな ASP (.asp) や PHP (.php) 拡張子にも適用されます。詳細は " を参照してください。 IIS統合パイプラインを活用する方法 すべてのコンテンツに対してASP.NETモジュールを実行できるようにする例については、" を参照してください。

また、ショートカットを使用して、アプリケーション内のすべてのリクエストに対して、"に関係なく、すべてのマネージド(ASP.NET)モジュールを実行できるようにすることができます。 managedHandler "前提条件です。

各モジュールエントリーを構成することなく、すべての管理対象モジュールがすべてのリクエストに対して実行できるようにするには、"を削除します。 managedHandler "前提条件を使用します。 runAllManagedModulesForAllRequests プロパティを <modules> セクションを作成します。

<modules runAllManagedModulesForAllRequests="true" />    

このプロパティを使用すると、" managedHandler "前提条件は効果がなく、すべての管理対象モジュールはすべてのリクエストに対して実行されます。

コピー元 IISモジュールの概要。前提条件