0

我正在制作一个 ASP.NET 应用程序,它需要每 30 分钟运行一次操作,并在满足某些条件时发送电子邮件。我在托管站点的系统上安排了 Windows 任务,以运行一个程序,该程序将使用 [LocalOnly] 属性发布到该操作。当我在开发期间进行测试时,这很棒,因为我可以将请求发送到 http://localhost:[Port]/[Controller]/[Action]。但是,一旦我部署了站点,使用公共域名的请求会导致它通过 Internet 路由,这意味着 IP 不再是本地的,这会导致操作失败。

有没有办法在本地提交这个请求?我希望有某种方法可以找出我可以使用的本地主机地址,而不是网站的公共域名或 IP。

...或者有没有更好的方法每 30 分钟发送一次电子邮件?

4

1 回答 1

0

您可以通过在 IIS 中的部署服务器上创建唯一的端口绑定来完成此操作。

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

更新您对 http://127.0.0.1:[PortThatWasPassedIn]/[Controller]/[Action] 的调用。

希望这会有所帮助,干杯。

于 2012-04-22T03:17:18.103 回答