11

PDF を含む仮想ディレクトリを持つ Web サイトがあります。ユーザーは、 http://myApp.com/PDFs/12345678.pdfなどの URL を使用して PDF にアクセスします。ここで、PDFsは にマップされた仮想ディレクトリ\\\actualPhysicalServerName\PDFsDirectory\です。これは機能します。

私は定期的にアプリケーションを再デプロイします。アプリケーションが再デプロイされ、Web サイトが再起動されると、IIS が再起動されるまで、ユーザーは仮想ディレクトリにアクセスできなくなります。

上記の URL にアクセスすると、次のエラーが発生します。

\\\actualPhysicalServerName\PDFsDirectory\web.config構成ファイルの読み込み中にエラーが発生しました:アクセスが拒否されたため、変更の監視を開始できませんでした。

at System.Web.FileChangesMonitor.FindDirectoryMonitor(String dir, Boolean addIfNotFound, Boolean throwOnError)
at System.Web.FileChangesMonitor.StartMonitoringFile(String alias, FileChangeEventHandler callback)
at System.Web.Configuration.WebConfigurationHost.StartMonitoringStreamForChanges(String streamName, StreamChangeCallback callback)
at System.Configuration.BaseConfigurationRecord.MonitorStream(String configKey, String configSource, String streamname)
at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()

アプリケーション プールを再起動しても解決しません。IIS を再起動する必要があります。IIS を再起動すると、期待どおりに仮想ディレクトリにアクセスできます。

これは予想される動作ですか?仮想ディレクトリの設定が間違っていませんか?

IIS 7.5、Windows 7 サーバー、および .NET 4.5 を使用しています。

4

4 に答える 4

17

この問題を次のように解決しました。

  1. 「マネージ コードなし」および「クラシック」設定で新しいプールを作成しました。
  2. 仮想ディレクトリをアプリケーションに変換し、共有に対するアクセス許可を持つユーザー アカウントに接続します。
  3. アプリケーションに新しいプールを使用させる
于 2013-11-05T10:06:42.967 に答える
1

UNC 共有上のイメージを指す仮想ディレクトリがありました。親アプリを .NET 4.5 に更新するまで、すべて正常に機能していました。

VirDir を 4.0 統合アプリケーション プールを使用する仮想アプリケーションに変換する必要がありました。

于 2015-06-14T18:51:26.287 に答える