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 作业用于发送邮件的数据一起存储。那将是最安全的解决方案。
我的网站以集成模式在 IIS 上运行 (.Net 4.5)。
我想在 Quartz 作业中发送电子邮件。每封电子邮件都有指向我网站的超链接。我需要在作业中获取域名,以便服务器可以动态创建超链接。
但是同事告诉我,没有收到请求是无法获取域名的,也就是说必须获取HttpContext.Current.Request.Url才能解析域名。
我的问题是: 是否可以在 Quartz 作业中获取域名?为什么?
非常感谢。
不,不是。 Quartz 作业没有 HttpContext,因为它们 运行 在不同的线程中。你可以试试
System.Web.Hosting.HostingEnvironment.SiteName
或
Dns.GetHostName()
那些不给出域名,而是IIS中站点的名称或主机名。但也许您可以使用它来创建 link.
您始终可以将域与 Quartz 作业用于发送邮件的数据一起存储。那将是最安全的解决方案。