Asp.net mvc 3 如何在承载多个网站的系统上查找本地主机地址

Asp.net mvc 3 如何在承载多个网站的系统上查找本地主机地址,asp.net-mvc-3,localhost,scheduled-tasks,Asp.net Mvc 3,Localhost,Scheduled Tasks,我正在制作一个ASP.NET应用程序,它需要每30分钟运行一次操作,并在满足某些条件时发送电子邮件。我已经在承载站点的系统上安排了Windows任务,以运行一个程序,该程序将使用[LocalOnly]属性发布到该操作。当我在开发过程中进行测试时,这非常好,因为我可以将请求发送到http://localhost:[端口]/[控制器]/[操作]。然而,一旦我部署了站点,使用公共域名请求会导致它通过internet路由,这意味着IP不再是本地的,这会导致操作失败 是否有办法在本地提交此请求?我希望有办

我正在制作一个ASP.NET应用程序,它需要每30分钟运行一次操作,并在满足某些条件时发送电子邮件。我已经在承载站点的系统上安排了Windows任务,以运行一个程序,该程序将使用[LocalOnly]属性发布到该操作。当我在开发过程中进行测试时,这非常好,因为我可以将请求发送到http://localhost:[端口]/[控制器]/[操作]。然而,一旦我部署了站点,使用公共域名请求会导致它通过internet路由,这意味着IP不再是本地的,这会导致操作失败

是否有办法在本地提交此请求?我希望有办法找到一个本地主机地址,我可以用它来代替网站的公共域名或IP


…还是有更好的方法每30分钟发送一次电子邮件?

您可以通过在IIS中的部署服务器上创建唯一的端口绑定来实现这一点

将此端口号存储在正在运行的服务的某种配置中(或将其作为命令行参数传递给计划任务)

将您的呼叫更新到http://127.0.0.1:[PortthatPassedIn]/[Controller]/[Action]


希望这有帮助,干杯。

localhost
应该指向
127.0.0.1
(如果启用了IPv6,可能还有
::1
)。除非主机配置严重错误,否则它肯定是本地地址。是的,但是我如何使用它来访问我想要的一个站点呢?此服务器承载多个主机,我不知道如何告诉它找到我想要的主机。请向该地址发送HTTP请求,并将
主机:
头设置为所需的域。