以前我们只有一台服务器,运行正常。我们正在生成二维码的URL,如下所示-
var urlBuilder = new System.UriBuilder(HttpContext.Request.Url.AbsoluteUri)
{
Path = Url.Action(actionName, controllerName),
Query = "ID=" + model.abc
};
return urlBuilder.ToString();
它用于将url返回为“
http://site.internal/Controller/Action
"
这对台式机和移动设备都有效
现在应用程序的URL已更改-
E、 G.负载平衡外部URL=
https://secure.abc.com
现在,当我们使用相同的代码生成QR代码的URL时,它将采用服务器URL,即它指向服务器URL(
)而不是相对路径/当前URL。
编辑-
我试着把密码改成
var urlBuilder = new System.UriBuilder(HttpContext.Request.Url.AbsoluteUri)
{
Path = Url.Action(actionName, controllerName),
Query = "ID=" + model.abc
};
var cleanUrl = urlBuilder.Uri.GetComponents(UriComponents.AbsoluteUri & ~UriComponents.Scheme & ~UriComponents.Host & ~UriComponents.Port,
UriFormat.UriEscaped);
return cleanUrl.ToString();
但它只能在桌面上工作。它在手机上不起作用,因为当我们扫描二维码时手机上没有网址