3

ASP.Netアプリケーションは、要求中に予期せず再起動し、状態やセッションデータなどを台無しにしていました。この問題の原因は、Tempフォルダーの近くに作成されたフォルダー内の一部のファイルを書き込みおよび削除するコントロールが原因であると判断したbinため、Webディレクトリは次のようになります。これ:

bin
Temp
....
Default.aspx    
web.config

ASP.Netは、Web.config内またはweb.configTemp内の変更に反応するのと同じように、フォルダー内の変更に反応するようです。アプリケーションを再起動します。bin

Tempサイトディレクトリの外に移動することで、問題を部分的に解決できました。そうすれば、一時的なものが書き込まれたり削除されたりするたびにアプリケーションが再起動されないため、この部分はうまく機能します。問題は、ディレクトリ内の一部のファイルTempがWebアクセス可能である必要があることです。たとえば、オンザフライで生成された画像などです。


したがって、私の質問は実際には3つあります。

  1. binディレクトリではなく、同じレベルの別のディレクトリで変更が行われた場合でも、ASP.Netアプリケーションを再起動する必要がありますか?または、構成に問題がありますか?
  2. 一時フォルダをどこでどのように作成すれば、Webにアクセスできるようになりますが、アプリケーションが再起動することはありませんか?
  3. コードまたはweb.config(IISとASP.Net開発サーバーの両方)からのディレクトリ変更時に再起動をオフにするにはどうすればよいですか?
4

1 に答える 1

1

ここでの私の理解に基づいて、あなたの質問に対する答えは次のとおりです。

  1. コンテンツ ディレクトリの 1 つで変更されたファイルが多すぎると、ASP.NET はアプリケーションを再起動します。アプリの再起動時の詳細については、http://programming360.blogspot.in/2009/04/what-c​​auses-application-restart.html を参照してください
  2. IIS ユーザーが正常に機能するフォルダにアクセスできる限り、同じマシンまたは別のマシン (ファイル共有) のどこにでも一時フォルダを作成できます。考慮する必要があるのは、フォルダーが別のコンピューター上にある場合の待ち時間だけです。
  3. アプリケーションの再起動を制御できるとは思えません。これは IIS によって完全に制御されています。 この SO の質問を読みたいと思うかもしれません: ASP.NET は、フォルダーが作成、名前変更、または削除されると再起動します
于 2012-06-22T07:33:33.310 に答える