- - PR -
web.config を配置してある仮想フォルダor絶対フォルダを知るには?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-11-05 10:11
ASP.NET Webアプリで、web.config を配置してある仮想フォルダor絶対フォルダ、言い替えると、Webアプリのルートフォルダを知る手段はあるでしょうか。
appRoot +-- sub というフォルダ構成で、appRoot/sub/webform.aspx のコードから、appRoot/data.xml を Load したいのです。 いまは、web.config の appSetting セクションに、「このアプリのルートURL」を手書きで設定しているのですが、本プロジェクトは、同一のコードをいろいろなURLに配置するという特徴を持っているため、毎回、web.config を書き直しています。 何か情報をお持ちの方がいらっしゃいましたら、ご教示頂ければ幸いです。 [ メッセージ編集済み 編集者: adelieworks 編集日時 2003-11-05 10:23 ] | ||||
|
投稿日時: 2003-11-06 10:07
Server.MapPath("/");
でルートフォルダの位置とれませんでしたっけ? #未確認です。 | ||||
|
投稿日時: 2003-11-06 22:35
たしかにこれだと、サイトの"ルートフォルダ"は取れるのですが、今回ほしいのは、サイトではなくアプリ単位でのルートでして。 例えば、 c:\wwwroot +--approot +--bin +--sub というフォルダ構成だとして、approotにIISにてアプリケーションを設置、Web.configも同フォルダに配置することになりますが、このとき、subフォルダ内にあるX.aspxのページクラスのコード中から、そのページ自身の属するアプリのルート、すなわち、"c:\wwwroot\approot"を取得したいわけです。 Server.MapPath("/")だと、"c:\wwwroot"が取れてしまいます。 | ||||
|
投稿日時: 2003-11-07 20:29
fatmoon@初書き込み です。
ずばり、 Server.MapPath( Request.ApplicationPath ) ではどうでしょうか? | ||||
|
投稿日時: 2003-11-07 20:51
adelieworksさん、こんばんは。
Request.PhysicalApplicationPath で取得出来ますよ。 | ||||
|
投稿日時: 2003-11-07 22:41
皆さん返信ありがとうございます。
"AppPath"とか"VirtualPath"とか"BaseURL"とかで検索していたから見つからなかったようです。"App"じゃなくて、ちゃんと"Application"とフルスペルで探すべきでした。 Requestプロパティ(HttpRequestクラス)のプロパティとして在った、というのも意外でした。クライアントからの"要求"の中に、Webアプリのルート情報が含まれているというのは想像もつきませんでした。 ご教示頂いた皆様、どうもありがとうございました。 |
1