0


0

ASP.Net Webサイトのサブディレクトリを検索する方法

これが通常のWinformプロジェクトかどうかはわかっていますが、次のようにすれば簡単に入手できます。

Environment.CurrentDirectory

または

System.IO.Directory.GetCurrentDirectory()

それから

string [] directories = System.IO.Path.Combine(Environment.CurrentDirectory、 "Portfolio")

ASP.NetでPortfolioというサブフォルダーへのパスを作成する方法を教えてください。

http:// ?????????? / Portfolioからすべてを構築できません。 どうやって見つけるのですか??? 部?

私は上記のコードを試してみましたが、完全に異なるディレクトリを得ました…​

最後のサブフォルダの前にあるすべてのものをハードコードしたくないのは、別のサーバーでは異なるからです。

3 Answer


2


ASP.NETアプリから呼び出す場合、 + Directory.GetCurrentDirectory()+`を呼び出すと誤解を招く可能性があります。 これを回避する最善の方法は、代わりにhttp://msdn.microsoft.com/en-us/library/ms524632.aspx [+ Server.MapPath()+`]を使用することです。これにより、ディスク上のその場所へのWebフォルダー。

だから、例えば、このコードを実行する:

string path = Server.MapPath("~/Portfolio");

'`+ path +’をディスク上のそのフォルダーの場所に等しく設定します。

`+ Page `またはコントロールクラスのコンテキスト外からこのコードを実行している場合、 ` Server +`オブジェクトに直接アクセスすることはできません。 この場合、コードは次のようになります。

string path = HttpContext.Current.Server.MapPath("~/Portfolio");


0


私があなたを正しく理解しているならば、あなたはただそれを使ってそれにアクセスすることができます:

"/ポートフォリオ"

システムは、 "/ portfolio"をURLに連結します。例えば、 "http://site.com"の場合は "http://site.com/portfolio"になります。

物理パスが欲しい場合は、

server.mappath( "/ portfolio")

そしてそれは関連する物理的なディレクトリを返します(例えばE:\ website \ site \ portfolio ")。


0


次の行は、あなたを 'bin’ディレクトリに連れて行きます

Assembly asm = Assembly.GetExecutingAssembly();文字列strAppHome = Path.GetDirectoryName(asm.CodeBase).Replace( "file:\\"、 "");