gpt4 book ai didi

c# - 为什么 Request.Url.Authority 返回内部路径而不是我的域

转载 作者:太空宇宙 更新时间:2023-11-03 14:08:12 24 4
gpt4 key购买 nike

我正在处理将于本周上线的应用程序的最后问题。我需要帮助来修改我的代码或向我们的托管服务商解释他们需要在 IIS/DNS 配置中修复什么才能使此代码按预期工作。

代码如下:

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;
}
}

我在我的 Controller 中对此进行了调用,以生成一个持久保存到数据库的 url。

当我在本地机器上运行时它工作正常。但是,它在测试版服务器上运行时不起作用。

测试版的预期结果。在 Beta 服务器上,这是一个名为 dr405

的应用程序
  • https://beta.sc-pa.com/dr405/

测试版的实际结果。 (为了安全起见,我将服务器/域名更改为您在 CAPS 中看到的名称)

  • http://SERVERNAME1.GROUP1.SUBGROUP.local/dr405/

最佳答案

我认为您不需要您编写的方法。有一个 UrlHelper添加扩展方法的类。要获取您网站的基本 URL,您应该使用 Content()像这样的方法:

var baseUrl = Url.Content("~/");

在您的示例中,http://SERVERNAME1.GROUP1.SUBGROUP.local/dr405/ 结果看起来是一个内部主机名。在您的开发机器上,内部 主机与您的面向公众 的主机匹配。您的托管服务提供商不太可能为您修改此设置,尤其是在共享托管解决方案的情况下。

关于c# - 为什么 Request.Url.Authority 返回内部路径而不是我的域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8713096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com