【问题标题】:ASP.NET :How to get the domain name of server in a Quartz Job?ASP.NET :如何在 Quartz Job 中获取服务器的域名?
【发布时间】:2018-07-17 01:56:35
【问题描述】:

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

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

非常感谢。

【问题讨论】:

    标签: asp.net dns quartz


    【解决方案1】:

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

    System.Web.Hosting.HostingEnvironment.SiteName
    

    Dns.GetHostName()
    

    那些没有给出域名,而是在 IIS 中的站点名称或主机名。但也许您可以使用它来创建链接。

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

    【讨论】:

    • 谢谢。他们告诉我客户端和我的网站服务器之间可能有反向代理服务器。所以我永远无法在没有收到请求的情况下说出真实的域名。域名不是网站的稳定属性,每次请求都可以更改。在Quartz作业中获取域名是没有意义的。
    猜你喜欢
    • 2010-12-08
    • 2012-11-26
    • 2011-08-26
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    相关资源
    最近更新 更多