私たちのほとんどは、実稼働サーバーに公開する前に、ローカルホストで Asp.NET Web アプリケーションを開発してテストします。しかし、私にとっては、絶対パスを適切に取得できないため、ローカルホストは時々苦痛です。私のアプリがにあるとしhttp://localhost/MyApp/
ましょう。ホストを正しく取得できません。いくつかのコードで取得できますが、より一般的なものにするのが好きなので、他の開発者が同じアプリケーションを などの別の場所に配置するとhttp://localhost/TheirApp
、正常に動作するはずです。
サンプル問題:
このような絶対パスを使用するたびに/aboutus.aspx
、これが発生しhttp://localhost/aboutus.aspx
て省略されMyApp
ます。相対パスを使用すると、http://localhost/MyApp/IamHere.aspx/aboutus.aspx
かなり邪魔になります。
したがって、Request.Url.Authority
またはRequest.Url.Host
が返される場合http://localhost/MyApp
は、これらを使用して URL を追加し、適切な解決策を見つけることができます。
代替ソリューション:
私はこれを行うことができます:
if(Request.Url.Host.StartsWith("localhost"))
{
string[] segments = Request.Url.AbsolutePath.Split("/");
var localHost = Request.Url.Authority + "/" + segments[0];
}
次に、localHost
変数を使用してパスを追加できます。
しかし、皆さんがそのような問題にどのように対処しているかを知りたいですか?
ありがとう、