asp.net - Godaddy 上的 ASMX 任务计划程序

标签 asp.net web-services powershell scheduled-tasks

我试图每小时调用一次网络服务 (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/ ,这是我的备份计划,但我需要定期调用并且不知道如何让应用程序在关闭时重新启动。

最佳答案

检查你的反斜杠:

Go爸爸的例子是:

'http://www.mysite.co.uk\httpdocs\myasmx.asmx/SendEmail'

使用斜杠代替反斜杠,计划任务将正常执行。

关于asp.net - Godaddy 上的 ASMX 任务计划程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25467537/

相关文章:

security - Powershell SDDL修改

windows - 注册表不匹配 Get-NetAdapter

javascript - 如何在我网站的某个地方打开某个网站(例如 stackoverflow)?

web-services - WSIG 部署构建失败

c# - 检查 IQueryable 结果集的最佳方法是什么?

xml - 出现在 Web 服务模式中的 tns

java - 如何开始使用 java web 服务?

powershell - PowerShell : Capturing Error for [IO.File]::ReadAllText

c# - 带有引用类型变量的对象类型装箱

c# - Asp.Net Web Api - 为 IEnumerable<T> 返回 404 Get When null