2

いくつかの仮想ディレクターを作成しましたが、現在の http 要求から URL を取得できるようにしたいと考えています。

例えば:

http://www.site.com/app_1/default.aspx ===> http://www.site.com/app_1/

http://www.site.com/app_2/default.aspx ===> http://www.site.com/app_2/

....

http://www.site.com/app_n/default.aspx ===> http://www.site.com/app_n/

私のコード:

    string urlApp = HttpContext.Current.Request.Url.AbsoluteUri.ToString();
    urlApp = urlApp.Substring(0, urlApp.LastIndexOf('/') + 1);

そして私は試しました

    string urlApp = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + "/";

ローカルホストではうまく機能します:http://localhost:2468/test.aspx結果http://localhost:2468/

http://myhost/app_1/test.aspx、ただし、仮想ディレクトリ結果を介してアクセスする場合http://myhost/

どうすれば入手できhttp://myhost/app_1/ますか?

4

1 に答える 1

5
HttpContext.Current.Request.ApplicationPath 

仮想ディレクトリへのルートを取得するために必要なものです。既に取得した URL に追加すると、勝者になります。何かのようなもの

HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + HttpContext.Current.Request.ApplicationPath

動作するはずですが、末尾のスラッシュに注意してください。

于 2012-05-22T14:08:50.260 に答える