1

更新/修正

さて、私はそれがうまくいったように見える2つのことをしました

  1. アプリ プールの詳細設定 >> プロセス モデル >> ID を「ネットワーク サービス」に変更しました
  2. サイトの .net コンパイル設定でコンパイルに一時フォルダーを使用するように指示しました。時々再起動がありますが、セッションが失われることはなく、すべてのブラウザーが引き続き接続できます。

これも機能しました: http://www.aaronblake.co.uk/blog/2009/09/28/bug-fix-application-restarts-on-directory-delete-in-asp-net/

私はasp.net 4でWebアプリケーションを構築していますが、約1分後に接続がタイムアウトする理由を理解するのに非常に苦労しています(IIS 7を使用してホストされている場合)。これはおそらく web.config/directory が編集されたことが原因であると通知されたため、アプリがアンロード/再起動され、ページが停止します。ビンの何かを明示的に編集して書いたコードを認識していません。

私は(テーブルアダプタまたはSQLConnectionクラスを介して)SQLに接続していますが、それは何もしないと思います。また、スクリプトとして実行されるボタンを使用しています。

IIS で構成変更オプションの再起動を false に設定しましたが、まだ役に立ちません。

編集

シャットダウンのイベント ログを次に示します。

_shutDownMessage=Change Notification for critical directories.
bin dir change or directory rename
HostingEnvironment initiated shutdown
HostingEnvironment caused shutdown
Change Notification for critical directories.
bin dir change or directory rename
Change Notification for critical directories.
bin dir change or directory rename
Change Notification for critical directories.
bin dir change or directory rename

_shutDownStack=   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   at System.Environment.get_StackTrace()
   at System.Web.Hosting.HostingEnvironment.InitiateShutdownInternal()
   at System.Web.Hosting.HostingEnvironment.InitiateShutdownWithoutDemand()
   at System.Web.HttpRuntime.ShutdownAppDomain(String stackTrace)
   at System.Web.HttpRuntime.OnCriticalDirectoryChange(Object sender, FileChangeEvent e)
   at System.Web.FileChangesMonitor.OnCriticaldirChange(Object sender, FileChangeEvent e)
   at System.Web.DirectoryMonitor.FireNotifications()
   at System.Web.Util.WorkItem.CallCallbackWithAssert(WorkItemCallback callback)
   at System.Web.Util.WorkItem.OnQueueUserWorkItemCompletion(Object state)
   at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

なぜビンが変更されるのかを考えて、私の脳に負担をかけてきました。完全に途方に暮れて、私たちが書いたものは何も書いていない/故意にそこに何かを変更していません

4

0 に答える 0