C# 如何生成从web服务器到客户端的电子邮件确认链接

C# 如何生成从web服务器到客户端的电子邮件确认链接,c#,asp.net-web-api,asp.net-core-2.2,email-confirmation,C#,Asp.net Web Api,Asp.net Core 2.2,Email Confirmation,我有一个运行asp.NETCore2.2WebAPI的web服务器和一个angular客户端 现在,我使用此代码生成电子邮件确认链接: var uriBuilder = new UriBuilder("http://example.com/confirmEmail"); var parameters = HttpUtility.ParseQueryString(string.Empty); parameters["id"] = user.Id.ToString(); parameters["to

我有一个运行asp.NETCore2.2WebAPI的web服务器和一个angular客户端

现在,我使用此代码生成电子邮件确认链接:

var uriBuilder = new UriBuilder("http://example.com/confirmEmail");
var parameters = HttpUtility.ParseQueryString(string.Empty);
parameters["id"] = user.Id.ToString();
parameters["token"] = token;
uriBuilder.Query = parameters.ToString();

Uri finalUrl = uriBuilder.Uri;

但我认为这不是最好的做法。我该怎么做呢?

我用这样的东西。我认为这是一个很好的观点

var code = await _userManager.GenerateEmailConfirmationTokenAsync(identityUser);
var callbackUrl = Url.Action(
                        "ConfirmEmail",
                        "Account",
                        new { userId = identityUser.Id, code = code },
                        protocol: HttpContext.Request.Scheme);

await emailService.SendEmailAsync(model.Email, "Confirm your account",
                        $"confirm email: <a href='{callbackUrl}'>link</a>");
var code=await\u userManager.generateemailconfimationtokenasync(identityUser);
var callbackUrl=Url.Action(
“确认邮件”,
“帐户”,
新的{userId=identityUser.Id,code=code},
协议:HttpContext.Request.Scheme);
等待emailService.SendEmailAsync(model.Email,“确认您的帐户”,
$“确认电子邮件:”;

对不起,我没有注意到您需要使用绝对url,但我认为它必须帮助您

这对我不管用。我的web服务器(localhost:9800)与internet隔离,我的amgular客户端(example.com)将请求路由到web服务器。您的解决方案将具有类似localhost:9800/api/account/confirmemail****的url,但我需要类似example.com/confirmemail的url****