1. ホーム
  2. .net

[解決済み】ASP.NET MVCでWebアプリのベースURLを取得するにはどうすればよいですか?

2022-03-26 02:34:42

質問

ASP.NET MVC アプリケーションのルート URL をすばやく特定するにはどうすればよいですか? 例えば、IISが私のアプリケーションを次の場所で提供するように設定されている場合。 http://example.com/foo/bar その際、リクエストから現在のURLを取得し、アクションを再ルートすると壊れてしまうような壊れやすい方法で切り刻むのではなく、信頼できる方法でそのURLを取得できるようにしたいです。

ベースURLが必要な理由は、このウェブアプリケーションが別のアプリケーションを呼び出し、コールバックの目的で呼び出し元のウェブアプリケーションのルートが必要だからです。

どのように解決するのですか?

Requestオブジェクトが利用可能であると仮定して、使用することができます。

string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~"));

利用できない場合は、コンテキストを経由して取得することができます。

var request = HttpContext.Current.Request