2011-10-20 6 views
1

これは私の質問です。このstackoverflowを検索しましたが、正しい解決策が見つかりませんでした。C#Application Path Webサイトで動作させる方法

は、私は、それが

C(ローカル私のマシン上)に保存されているウェブサイトを持っている:\ウェブサイトが同じフォルダに

WEBSITE1

\私が持っている

C:\サイト\ WEBSITE1 \ xmldoc.xml

私は、プログラムがC:\ websites \ Website1 \ xmldoc.xmlを見つけてアクセスできるようにしたいと考えています。私はハードにC:\ websites \ Website1 \ xmldoc.xmlの場所を自分のウェブサイトにコード化しましたが、もっと良い方法があるかどうかを判断しようとしています。私は Application.StartupPathを試しましたが、動作しません。

+0

クイック検索がHttpRequest.ApplicationPath示唆を使用することができます。それはあなたが探しているものですか?私はそれが私が過去に同じ目的のために使ったものだと信じています。 – lampej

答えて

3

AppDomain.CurrentDomain.BaseDirectoryを使用できます。

Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "xmldoc.xml") 

この手法は、WebアプリケーションとWindowsアプリケーションの両方から呼び出すことができるクラスライブラリに有用である:それは、Webアプリケーションのディレクトリに解決、Webアプリケーションで

  • WinFormsまたはコンソールアプリケーションでは、実行可能ファイルを含むディレクトリに解決されます。

2

Server.MapPathを使用すると、ファイルのローカルパスを取得できます。

this関連の質問と回答を参照してください。

+0

"〜/ xmldoc.xml"はより良いでしょう – Joe

+0

@Joe - fair point。回答が修正されました。 – Oded

+0

私はServer.MapPathを試しました。サーバーが現在のコンテキストに存在しないと言われているので、何らかの種類のライブラリが必要ですか。 – user990951

0

あなたは

Request.ApplicationPath 

または

Server.MapPath 
関連する問題