我正在制作一个需要每30分钟运行一次动作的ASP.NET应用程序,并在满足某些条件时发送电子邮件。我已经在托管站点的系统上安排了Windows任务,以运行一个程序,该程序将使用[LocalOnly]属性发布到该操作。当我在开发期间进行测试时,这很好,因为我可以将请求发送到http:// localhost:[Port] / [Controller] / [Action]。但是,一旦我部署了站点,使用请求的公共域名会导致它通过互联网路由,这意味着IP不再是本地的,这会导致操作失败。
有没有办法在本地提交此请求?我希望有一些方法可以找出我可以使用的本地主机地址,而不是网站的公共域名或IP。
...或者有更好的方式每隔30分钟发送一次电子邮件吗?
答案 0 :(得分:0)
您可以通过在IIS中的部署服务器上创建唯一的端口绑定来执行此操作。
将此端口号存储在您正在运行的服务的某种配置中(或将其作为命令行参数传递给您的计划任务)。
更新您对http://127.0.0.1:[PortThatWasPassedIn]/[Controller]/[Action]的电话。
希望这会有所帮助,欢呼。