Web アプリケーションには、Directory.GetFiles と Directory.GetDirectories を使用して UI を生成する単純なファイル セレクターがあります。これはローカルホストでは完全に機能しますが、Windows Server 2003 ホスティングにアップロードすると、ファイルしか表示されません。同じディレクトリでは、GetFiles は機能しますが、GetDirectories は機能しません。
コードは信じられないほど単純です。文字列 dir は Server.MapPath 呼び出しによって作成され、次のようになります。
List<string> dirs = Directory.GetDirectories(dir).ToList();
List<string> files = Directory.GetFiles(dir).ToList();
セキュリティに関して考えられることはすべて試しました。「Everyone」に Web ルートのすべてのディレクトリへのフル アクセスを許可するところまで行っても、これでも違いはありません。
したがって、問題がセキュリティにない場合は、さらに試してみるべきことについていくつかの提案をいただければ幸いです。
更新:私はかなりばかです - HTML を吐き出したコードには、ローカルでは何の違いもなかった非常に古いテスト コードが含まれていたため、気付かれずに削除されていましたが、サーバー上のすべてのディレクトリが無視されていました。 ! それが何だった?
if (!subDir.Contains(".")) { ...
サーバー上では、すべてのサイトはドメインによって名前が付けられたフォルダーにありますが、ローカルではそうではありません。私==ばか。みんなごめんなさい!