IIS 7.5 には、ネットワーク リソースを指す仮想ディレクトリがいくつかあります。具体的には、これらのフォルダーには PDF ファイルが格納されます。これらのフォルダーへのアクセス許可をユーザーに付与しました。予想どおり、それらのコンテンツには Web 要求を介してアクセスできます。たとえば、http://mysite/dir1/test.pdf
両方の仮想ディレクトリで完全に機能します。ただし、仮想ディレクトリの 1 つ (もう一方は正常に動作) を展開してサブ フォルダーを表示しようとすると、IIS マネージャーがすぐに応答しなくなります。
従来の ASP ページの仮想ディレクトリにあるすべての PDF のファイル名を一覧表示しようとしています。
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
filepath = Server.MapPath("/resources/myfolder")
Set folder = objFSO.GetFolder(filepath)
For Each file in folder.Files
If file.Type = "PDF File" Then
Response.Write("<p>" & file.Name & "</p>")
End If
End If
Set folder = Nothing
Set objFSO = Nothing
別のページで、同じコードを使用して別の仮想ディレクトリの内容を一覧表示します。ただし、この他のディレクトリ (IIS マネージャーと同様) は、応答しないことによって問題を引き起こします。サイト全体が応答しなくなり、元に戻すにはアプリ プールにリサイクルする必要があります。
これらのリソースへのアクセスに使用されるユーザー アカウントの有効なアクセス許可は同じです。すべてのファイルにアクセスでき、ハードコーディングによって存在することを確認しましfso.FileExists(filepath & filename)
た。また、フォルダ オブジェクトが存在し、そのプロパティが設定されていることも確認しました。どちらの場合でも、folder.Files.Count
は適切に設定されています。問題は、繰り返しの呼び出しがfolder.Files
応答しない動作を引き起こすことです。ファイル サイズやフォルダー サイズの制限はありますか? 2 つのディレクトリの唯一の違いは、ファイルの数とその結果としてのフォルダーのサイズです。動作しないものは1GBをわずかに超えています。