したがって、ここにリストされているものはどれもうまくいきませんでしたが、いくつかの答えを使用して、私は何かうまくいきました:
public string GetBaseUrl()
{
    var request = HttpContext.Current.Request;
    var appUrl = HttpRuntime.AppDomainAppVirtualPath;
    if (appUrl != "/") 
        appUrl = "/" + appUrl;
    var baseUrl = string.Format("{0}://{1}{2}", request.Url.Scheme, request.Url.Authority, appUrl);
    return baseUrl;
}
ASP.NET Core / MVC 6の更新:
ASP.NET Core特にコードが深い場合は、このプロセスが少し面倒になります。あなたが得るための2つのオプションがありますHttpContext
1)あなたからそれを渡しますcontroller:
var model = new MyClass(HttpContext);
次にmodel:
private HttpContext currentContext;
public MyClass(HttpContext currentContext)
{
    this.currentContext = currentContext;
}
2)おそらく、よりきれいな方法は、クラスにそれを注入することです。 Startup:
public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();
    services.AddTransient<MyClass, MyClass>();
    services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
}
次に、次のように注入します。
private HttpContext currentContext;
public MyClass(IHttpContextAccessor httpContextAccessor)
{
    currentContext = httpContextAccessor.HttpContext;
}
どちらの場合も、以下が更新され.NET Core GetBaseUrl()ます。
public string GetBaseUrl()
{
    var request = currentContext.Request;
    var host = request.Host.ToUriComponent();
    var pathBase = request.PathBase.ToUriComponent();
    return $"{request.Scheme}://{host}{pathBase}";
}
               
              
urlHelper.Content("~")?定義を作成するにはどうすればよいurlHelperですか?ありがとう!