0

.Net Web サイトに、それが配置されているコンピューターのステータスを示すテキスト ファイルの最初の行を読み取らせようとしています。Server.MapPath を削除すると、古き良き "Server.MapPath - Physical path given, virtual path expected" が表示され、サーバーの問題は修正されますが、アクセスしようとしているように見えるため、クライアント コンピューターでエラーが発生します。クライアント PC 上のファイル。スニペットは次のとおりです。

        StreamReader StreamReader3 = new StreamReader(Server.MapPath(@"C:\\status\\status.txt"));
        TextBox2.Text = StreamReader3.ReadLine();
        StreamReader3.Close()

呼び出されたファイルをWebページと同じフォルダーに移動し、サーバー側のプログラムでファイルを更新することでおそらく問題を解決できることはわかっていますが、それ以外の方法でこれを行う方法はありますか? ありがとう。

4

1 に答える 1

0

MapPath は、~ から始まるパスを完全なローカル パスに変換します。コードで必要なようには見えません。

ファイルが常に一定の場所にあると想定される場合は、フルパスで直接開きます。

サイト ルートに相対的な場合は、Server.MapPath("~/status.txt") のようなものを使用します。

于 2013-08-16T15:34:29.237 に答える