ASP.NET :如何获取Quartz Job中服务器的域名?

ASP.NET :How to get the domain name of server in a Quartz Job?

我的网站以集成模式在 IIS 上运行 (.Net 4.5)。
我想在 Quartz 作业中发送电子邮件。每封电子邮件都有指向我网站的超链接。我需要在作业中获取域名,以便服务器可以动态创建超链接。
但是同事告诉我,没有收到请求是无法获取域名的,也就是说必须获取HttpContext.Current.Request.Url才能解析域名。

我的问题是: 是否可以在 Quartz 作业中获取域名?为什么?

非常感谢。

不,不是。 Quartz 作业没有 HttpContext,因为它们 运行 在不同的线程中。你可以试试

System.Web.Hosting.HostingEnvironment.SiteName

Dns.GetHostName()

那些不给出域名,而是IIS中站点的名称或主机名。但也许您可以使用它来创建 link.

您始终可以将域与 Quartz 作业用于发送邮件的数据一起存储。那将是最安全的解决方案。