問題タブ [ihttpmodule]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
450 参照

asp.net - モジュールの後に WebPageHttpModule が登録されるのはどうしてですか?

私の web.config<system.webServer>セクションで、カスタム モジュールを追加します。

次に、HTTP ハンドラーでモジュール リストを反復処理します。

そして、私はこのリストを取得します:

明らかに、私のモジュールはすべての組み込みモジュールの後に登録されますが、WebPageHttpModule はその後に登録されます。

それはどのように起こりますか?自分のモジュールが最後に登録されるようにするにはどうすればよいですか?

0 投票する
1 に答える
8364 参照

asp.net-mvc - .NET Web API プロジェクトに要求データごとにグローバルを格納する方法

現在、ASP.NET Web フォームを使用して作成されているアプリケーション用の Web API の作成に取り組んでいます。リクエストの開始時にいくつかのデータを取得し、それを HttpContext.Current.Items に格納して、後でページ処理中にすべてのコードで使用できるようにするモジュールがあります。

Web API を作成しようとしていますが、同じことを行う必要があります。Web APIコントローラーの処理中に使用される「リクエストごと」のグローバルデータを保存する正しい方法は何ですか(通常のコントローラーでも同じだと思います)。

また、そうする方法がある場合、コントローラーがインスタンス化される前に実行される IHttpModule にこのデータを設定する方法はありますか。

どんな助けでも大歓迎です!

0 投票する
1 に答える
1757 参照

c# - ASP.NET カスタム エラー処理 HttpModule が目的のエラー処理ページにリダイレクトされない

エラー処理 HttpModule には、ユーザーを適切なエラー ページにリダイレクトするコードが含まれていますが、それは行われておらず、スタック トレースを含む技術的な詳細を含むエラー ページが表示されています。

私は Visual Studio 2008 で Web アプリを維持しており、以前は Win XP で作業していたときに正常に動作していましたが、その後 Win 7 に移行し、ユーザーが表示するための適切なアクセス許可を持っていないときにこの問題に遭遇しました。選択したデータ。<system.webServer><modules>ファイルのセクションにHttpModule を追加するなど、IIS 7 でアプリを動作させるために必要な変更を加えましたWeb.config。他に何か欠けているものがあるのだろうか?

問題の詳細は次のとおりです。C# サービス層コード ファイルでメソッド GetAppData() を呼び出してデータをユーザーに表示する ObjectDataSource を使用する Web フォームがあります。サービス層ファイルは、ユーザーがデータを表示するための適切なアクセス許可を持っているかどうかを確認します。持っていないため、InvalidPermissionException. これにより、Application_Error メソッドがトリガーされ、エラー処理 HttpModule で実行されます。これは、エラーをキャッチし、ユーザーをInvalidPermissionError.aspxページにリダイレクトする必要があります。ただし、代わりに表示されているのは、技術的な詳細とスタック トレースを含むエラー ページです。ユーザーフレンドリーなエラーページを表示するにはどうすればよいですか?

以下は関連するコードです(すべてを含めていません):

図 1: Web フォーム

図 2: カスタム エラー処理 HttpModule

図 3: ページ リダイレクト コード

0 投票する
1 に答える
1893 参照

asp.net - SharePoint 2013、カスタム IHttpModule NullReferenceException

更新: 問題は解決しました。読む。

カスタム IHttpModules を追加することが明らかに不可能になった理由は何ですか?

私の質問は関連しています: HttpModule.Init - IIS7 統合モードで HttpApplication.BeginRequest ハンドラーを安全に追加する ただし、この質問はかなり古く、未回答であり、SharePoint コンテキストがありません。HttpModuleを標準の ASP.NET WebForms ページに追加できます。

SharePoint は IIS 8 でホストされています。AppPool は統合モードで実行されます。フレームワーク レベルは 4.0+ です。

結果:

[NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。] System.Web.PipelineModuleStepContainer.GetEventCount(RequestNotification 通知、Boolean isPostEvent) +30
System.Web.PipelineStepManager.ResumeSteps(例外エラー) +1098
System.Web.HttpApplication. BeginProcessRequestNotification(HttpContext コンテキスト、AsyncCallback cb) +135
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr、HttpContext コンテキスト) +604

web.config は次のようになります。

BeginRequest イベントにアタッチしなくなるとすぐに、ページは再び機能します。しかし、明らかに私の http モジュールは役に立たなくなります。

編集 2013.09.19:アプリケーションの起動時に Init() が 2 回呼び出されています。2 回目の呼び出しでのみイベントをアタッチすると、アプリケーションは動作しますが、イベントは発生しません。

編集 2013.09.20: 問題はおそらく解決しました。Init() メソッドが 2 回トリガーされる (その間に Dispose() が呼び出されない) という事実から、実際には IHttpModule の 2 つのインスタンスが共存している可能性があると推測されました。そして、私の以前の観察では、2 番目のインスタンスにイベントがアタッチされている可能性があることが示されていましたが (起動していませんが、アプリケーションへの悪影響もありません)、明らかにその逆ではありません (これは私の static _isInitialized "lock" の場合です)。 .

**したがって、IHttpModule の両方のインスタンスが同じ「構成」を持つ必要があります (イベントハンドラーがアタッチされています)。複数の HttpApplication インスタンスが実行されていることはまったく正常です。これは、ASP.NET (または IIS) が最適化のために内部的に行うことです。それが覚えておくべき重要なことです:)

0 投票する
0 に答える
462 参照

asp.net - JS/CSS/Images に対して HttpModule を実行

問題: JS/CSS/Images に対して HttpModule が実行されます。

以下は、現在の構成/設定です。

インフラストラクチャー:

Microsoft Windows Server 2003 R2、Enterprise Edition、Service Pack 2 上の IIS 6.0

IIS VD 設定:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll へのワイルドカード アプリケーションのマッピング チェックなし 「ファイルが存在することを確認する」

テクノロジー:

.NET Framework 4.0 + ASP.NET + ASP .NET Web API

Web.config 構成:

ありがとう、アミット