私は今週のライブに行く予定のアプリケーションの最終的な問題を作業中です。私はコードを修正するか、このコードを期待どおりに動作させるためにIIS/DNS設定で修正する必要があるものを私たちのホストに説明するのに助けが必要です。ここでなぜRequest.Url.Authorityが私のドメインではなく内部パスを返すのですか
コードです:
public string BaseSiteUrl
{
get
{
var c = this.ControllerContext.RequestContext.HttpContext;
string baseUrl = c.Request.Url.Scheme + "://" + c.Request.Url.Authority
+ c.Request.ApplicationPath.TrimEnd('/') + '/';
return baseUrl;
}
}
私は、データベースに永続化されますURLを生成するために、私のコントローラでこれに電話をかけます。
ローカルマシンで実行するとうまく動作します。ただし、ベータ版サーバーで実行されている場合は機能しません。
ベータ版で期待される結果。ベータ版のサーバーでは、これはベータ版で、実際の結果dr405
https://beta.sc-pa.com/dr405/
という名前のアプリケーションです。
http://SERVERNAME1.GROUP1.SUBGROUP.local/dr405/
ありがとうございますが、それはまったく役に立ちません。私は完全修飾URLが必要です。これは相対的なURLを生成するので、2番目のアプリケーションでは、beta.sc-pa.comを指すhrefタグは次のようになります: 'href ="/dr405 // dr405/Wizard/Review/B00593.2660 "' –
問題は、ホスト名のコードを実行しているサーバーに問い合わせる必要があることです。しかし、(正しく)そのホスト名は 'SERVERNAME1.GROUP1.SUBGROUP.local'と考えています。トラフィックをルーティングする公開用のDNSエントリがあるからといって、そのことを認識しているわけではありません。私が言ったように、 'SERVERNAME1.GROUP1.SUBGROUP.local'を指し示す多くの**正面から見えるDNSエントリがあるかもしれません。 – Yuck
ありがとう@Yuck。これは仕事のように聞こえる...... **キャプテンハーコドー** –