<modules runAllManagedModulesForAllRequests =“ true” />意味


133

の意味を知りたかった

<modules runAllManagedModulesForAllRequests="true" />

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

実行する必要があるモジュールと実行しないモジュールを判別するにはどうすればよいですか?

回答:


122

モジュールの前提条件:

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モジュールを実行できるようにする例については、「を利用する。

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

すべてのマネージモジュールをすべての要求に対して実行できるようにするには、各モジュールエントリを構成して " managedHandler"前提条件を削除しないようにするにはrunAllManagedModulesForAllRequests<modules>セクションのプロパティを使用します。

<modules runAllManagedModulesForAllRequests="true" />    

このプロパティを使用する場合、 " managedHandler"前提条件は効果がなく、すべてのマネージモジュールがすべての要求に対して実行されます。

IISモジュールの概要からコピー:前提条件


すべてのリクエストに対してすべてのモデルを実行するのは良いことですか、それとも私はもっと具体的になりますか?これはアプリケーションの速度に影響しますか?
शेखर

2
はい、パフォーマンスの問題が発生します。代わりに前提条件を使用する必要があります。
Kapil Khandelwal

3
次に、どのモジュールを使用する必要があり、どのモジュールを使用しないかをどのように決定すればよいですか。
शेखर

6
フォローアップの質問。すべてではなく、別のモジュールを有効にすることも可能だと思います。私の質問(stackoverflow.com/questions/20998816/…)を参照してください<modules runAllManagedModulesForAllRequests="true">。追加するソリューションがありました。しかし、今ではオーバーヘッドが生じる可能性があることがわかりました。それで、ドット「。」を取得できるようにすることができる特定のモジュールがありますか?MVC WebAPIのURLで、ちょうどすべてでそれらを有効にする代わりに<modules runAllManagedModulesForAllRequests="true">?たとえば「UrlAuthorization」モジュールですか?
Yves Schelpe、2014年

モジュールタグセクションを追加するとうまくいきます。私はMVC 5、.net Framework 4.5.0、IIS 7、およびWindows Server 2008を使用しています
gavin

-9

以下のコードをweb.configに追加します

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
</system.webServer> 

4
なぜ追加したいのですか?
शेखर
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.