我试图每小时调用一次网络服务 (asmx)。 asmx 位于我与 Godaddy 的共享主机上。
Godaddy 使用 Powershell v1.0。他们的支持页面上有一个示例:http://support.godaddy.com/help/article/8970/scheduling-tasks-with-plesk-shared-hosting?pc_split_value=2&countrysite=ca
我在这里超出了我的深度,看不到他们在示例中实际做了什么。它似乎在 aspx 上调用 downloadstring,但我不明白你为什么要安排那个?
我从这里复制了一个 powershell 脚本:http://poshcode.org/1339
并创建了我自己的两行脚本,该脚本调用没有输入的 asmx 函数:
$page = .\New-WebServiceProxy.ps1 -Url http://www.mysite.co.uk/myasmx.asmx -Anonymous
$page.sendEmail
此代码与网络服务一起上传到根目录。
我尝试运行它,但放置脚本(“email.ps1”)不起作用。我不确定我是否使用了正确的路径,因为它不清楚我应该使用什么路径。
我知道 asmx 中的函数可以工作,因为我可以在浏览器中直接调用它,而且它工作得很好。
我也几乎按原样尝试使用他们的代码,但替换了这段代码:
-c "(new-object system.net.webclient).downloadstring('http://[domain.tld]\[path]\[file_name]')"
用这个:
-c "(new-object system.net.webclient).uploadstring('http://www.mysite.co.uk\httpdocs\myasmx.asmx/SendEmail', '')"
这有点绝望。我还尝试使用在 PHP 示例中特定的路径 G:\PleskVhosts[domain.tld][path][file_name] 但它也不起作用。
任何人都可以告诉我哪里错了或指出正确的方向。
顺便说一句,我知道使用共享主机的人会遇到 expireCache 黑客攻击。我看过博客 https://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/ ,这是我的备份计划,但我需要定期调用并且不知道如何让应用程序在关闭时重新启动。
最佳答案
关于asp.net - Godaddy 上的 ASMX 任务计划程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25467537/