問題タブ [global-asax]

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 投票する
7 に答える
374 参照

c# - 1時間ごとに実行されるが、.aspxページからトリガーすることもできるジョブを実装するにはどうすればよいですか?

データベース処理を行う、頻繁に実行するメソッドが必要です。ただし、サイトの管理者がトリガーできるようにする必要がある場合があります。ただし、このメソッドを同時に複数回実行することは望ましくありません。これにより、データベースへのアクセス方法に問題が発生する可能性があるためです。

たとえば、私は...

タイマーでメソッドを実行するシングルトンクラスを作成し、global.asaxファイルでインスタンス化します。次に、シングルトンなので、通常の.aspxページから呼び出して、いつでもメソッドを呼び出すことができます。おそらく、C#の「ロック」機能を使用して、メソッドがすでに実行されているかどうかを確認する必要があります。

最近、シングルトンは「悪」であるという話を聞きましたが、これはそれにぴったりのようです。どう思いますか?前もって感謝します。

0 投票する
4 に答える
20512 参照

asp.net - global.asax が Web サイト プロジェクトにないのはなぜですか

の役割に関するいくつかの質問global.asax:

  1. Visual Studio の Web サイト プロジェクトに含まれていないのはなぜですか? このファイルなしで同じ機能を実現する他の方法はありますか?

  2. 私の記憶では、Web アプリケーション プロジェクトを作成すると、global.asaxファイルが作成されます。削除した場合、プロジェクトは実行されますか?

コンパイルに関する説明を探してみましたglobal.asaxが、これに関する情報は見つかりませんでした..ヘルプ/リンクをいただければ幸いです。:)

ありがとう!

0 投票する
2 に答える
44869 参照

asp.net - Global.asax で Application_Start と Init をいつ使用するか?

どのような状況で、アプリケーションの初期化コードを自分のApplication_Start()ファイルに入れる必要があるのだろうか?Init()Global.asax

この 2 つの違いは、Application_start最初に呼び出されてからInit().

  • なぜ私は他のものを使用するのですか?
  • 本当に違いがありますか?
  • 2 つのイベントの間で、アプリケーションの状態はどのように変化しますか?

これまでのところ、私が見つけることができる唯一の実際のポインターはメソッドIHttpModuleしかないInit()ため、私が行っていることがある時点で実装に適している場合は、一貫性のために他に何もない場合でも、のメソッドをIHttpModule使用する必要があります。Init()Global.asax

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

error-handling - Global.aspx ページを使用したエラー報告

私は、取得したエラー レポートからアプリケーションのエラーを特定する際に常に問題を抱えていました。現在、エラーに関する情報を含む電子メールを作成しています。

  • ユーザー
  • URL
  • エラーメッセージ
  • 日付と時刻

これは私が使用するコードです

問題は、この情報では、エラーの原因を特定できない場合があることです。

エラーの詳細を取得するにはどうすればよいですか? たとえば、どのような制御がそれを引き起こしたか、システムに渡された変数のデータ

また、電子メール以外でデータを収集するためにどのような方法を使用し、どのように成功したか. たとえば、データベースへのログイン、テキスト ファイルへの記録などです。

0 投票する
4 に答える
25217 参照

asp.net-mvc - ASP.NET MVC が global.asax の EndRequest を呼び出さない

すべてのリクエストの最後にいくつかのアクションを実行しようとしています。テストを行うために新しいプロジェクトを作成したときに生成される Application_Start() を変更しました。

ラムダは呼び出されません。理由はありますか?

編集: SharpArch [ http://code.google.com/p/sharp-architecture/]で同様のことを行っていることがわかりますが、そこでは機能します...いいえ、HttpModule を使用したくありません.

edit2: 私が見つけた唯一の回避策は、Application_EndRequest を global.asax のプライベート静的メンバーと組み合わせて使用​​することです。

Application_EndRequest が別のインスタンス オブジェクト (this) を使用して呼び出されているように見えるため、wss はプライベートである必要があります。これは、(最初に説明したように) 私のイベントが呼び出されない理由でもあります。

0 投票する
4 に答える
6702 参照

asp.net - global.asax の一部のセッション データにアクセスできるのはいつですか?

global.asax で、セッションにキーと値のデータが含まれているかどうかを確認したいと思います。これを確認するために、可能な限り早い時間(およびメソッド名)がいつになるかわかりません。

ありがとう :)

0 投票する
3 に答える
2907 参照

asp.net - Application_Start中にアプリケーション構成を読み取る

大きなtiffファイルのサイズをその場で変更するWebアプリケーションについて考えてみます。ユーザーが操作を呼び出すと、大きなtiffファイルはそれぞれjpgサムネイルと大きなjpgにサイズ変更されます。これらの変換されたファイルのサイズは常に同じです。

昨日のコードレビュー中に、他の開発者の1人が、なぜこれらのディメンションをglobal.asaxに次のように設定したのかと尋ねました。

、実際のメソッド呼び出し中に構成ファイルを介して値を検索するのではなく。アプリケーションのテスト後にエンドユーザーが寸法を変更したい場合に備えて、幅を構成ファイルに保存します。これにより、コードをインラインで変更する必要がなくなります。

私が挙げた理由は、イメージが生成されるたびに構成ファイルからの読み取りを防ぐためでしたが、アプリケーションレベルの変数のルックアップ中に同様のオーバーヘッドがあった場合は答えることができませんでした。この最適化はおそらくパフォーマンスに大規模な影響を与えることはありませんが、コミュニティがより効率的なソリューションと考えているもの、つまりアプリケーションの起動時に設定するか、メソッドの呼び出し中にその場で読み取るかを知りたいと思いました。

0 投票する
5 に答える
7353 参照

asp.net - Global.asax がリリース ビルドで起動しない

当社のアプリケーションの 1 つには、特定のレベルの例外が発生した場合にヘルプデスクに自動的に電子メールを送信するメカニズムがあります。NullReferenceException という特定の例外がいくつかの問題を引き起こしています。これは、IIS のリサイクルとセッションの喪失が原因であると考えられます。これを証明するために、アプリケーションが開始/停止/リサイクルされたときにログを記録し、これを行うためにglobal.asaxファイルにいくつかのコードを追加しました。デバッグ モードで実行すると、ログ メッセージが書き出され、すべて問題ないように見えます。問題は、IIS で構成されたフォルダーにビルドする Web 配置プロジェクトをトリガーするリリース ビルドに切り替えるときに発生します。

アプリケーションに移動すると、ログ ファイルが作成されず、イベント ログが更新されないため、ApplicationStart メソッドが呼び出されません。IIS を再起動すると、ApplicationEnd でも同じことが起こります。つまり、ログが作成されません。

デバッグ ビルドでは機能するのに、リリース ビルドでは機能しないのはなぜですか? 私はこれを何時間も蹴っていますが、それは私を狂わせています。

前もって感謝します

**[編集]: 何が起こっているのか 100% はわかりませんが、現在は機能しているようです。ロギングに使用するアセンブリは、ApplicationStart が実行されるまでに読み込まれないのではないかと考えたので、すべてのコードを削除し、代わりにメソッド内にテキスト ファイルを作成しました。見よ、ファイルが作成された!そのため、if(logger != null) 型チェックを追加して、いくつかの診断を出力しようとしましたが、何も書き出されませんでした。そのため、try/catch を試してみて、例外がスローされてもファイルが作成されない場合は、空白のファイル "exception.txt" を書き込みました。ただし、イベント ログと予想されるログ ファイルは生成されました。よくわかりません!**

0 投票する
4 に答える
4124 参照

.net - ASP.NET MVC で未処理の例外をログに記録するにはどうすればよいですか?

Global.asax.vb でやろうとしていることは次のとおりです。

しかし、その Server.Transfer は失敗します:

Invalid path for child request 'http://www.example.com/error.html'. A virtual path is expected.

これを修正するにはどうすればよいですか? または、これを行うためのより良い方法は何ですか?

0 投票する
2 に答える
7285 参照

c# - ASP.NET Global.asax の出力をキャプチャして置き換える

サイトのすべてのページから送信されたデータを置き換える必要があり、Global.asax でそれを行うと思います。これは私がこれまでに試したことです:

しかし、これにより ArgumentException が発生します。私は何を間違っていますか?これを行うより良い方法はありますか?

ありがとう