【问题标题】:Can an ashx script be executed from a SQL Server Agent Step?可以从 SQL Server 代理步骤执行 ashx 脚本吗?
【发布时间】:2012-07-20 13:03:52
【问题描述】:

我目前在 SQL Server 2005 服务器代理作业中安排的每日时间运行一个 .vbs 文件。

“作业步骤属性”对话框包含:

类型:“操作系统(CmdExec)”

Command值如下:

"cscript d:\sites\mysite\myscheduled\script_to_run.vbs"

这工作正常,但我不得不升级脚本,现在希望使用 .ashx 处理程序文件代替它。有谁知道如何配置作业以执行 ashx 处理程序文件? “类型”是什么? ActiveX 脚本?路径引用之前的“命令”是什么?我不想使用任务计划程序等,但只想知道是否可以在服务器代理作业中执行 ashx 文件,如果可以,将“类型”和“命令”值设置为什么。许多 TIA。

【问题讨论】:

  • 为什么要在这一切的中间引入一个 Web 服务器?您能否准确描述 ashx 处理程序的作用,以及为什么必须“升级”?
  • .vbs 文件定期通过电子邮件发送少量发票,而退回邮件、投诉等最少。一些新的营销活动引起了对需要通过电子邮件发送的大量发票的需求,我' m 使用 Amazon.com 的电子邮件服务,在该服务中,他们为 SDK 提供了一个库,C# ashx 文件引用该库以通过域验证等方式克服垃圾邮件和投诉问题,从而通过域验证等来克服垃圾邮件和投诉问题。使用 ashx 文件(甚至 .vbs 文件)在这种情况下,我不是很熟悉,只是在网站环境中广泛使用它们。

标签: c# sql-server jobs ashx agent


【解决方案1】:

您仍然可以为此使用 CmdExec 步骤。

"C:\Program Files\Internet Explorer\iexplore.exe" "http://wherever/your_handler.ashx"

您不会看到浏览器窗口打开,它可能需要提升 SQL Server 或代理帐户的权限,但它应该可以工作。

您也可以通过使用 PowerShell 步骤类型调用 PowerShell 脚本来执行类似的操作。

或者你可以改变你的 VBScript 来做这样的事情:

set wsh = CreateObject("WScript.Shell")
cmd     = """C:\Program Files\Internet Explorer\iexplore.exe"" " & _
          "http://wherever/your_handler.ashx"
wsh.Run cmd
set wsh = Nothing

【讨论】:

  • 是的,效果很好。谢谢你,我真的很感激。您的“PowerShell 脚本”建议我也会进一步研究。
  • 在尝试了您提供的两个示例之后,第一个是 iexplore.exe 作为执行“wherever/your_handler.ashx”的命令,第二个是 .vbs 文件完成同样的事情,我无法让它工作.最初,当我尝试第一个示例时,我可以发誓它可以发送电子邮件,但重复尝试它只是没有运行 ashx 脚本。如果我在 Internet Explorer 中运行 .vbs scipt 示例,它可以正常工作,发送电子邮件但配置在服务器代理作业中运行的命令 (cscript),vbs 不会运行 ashx 脚本(不发送电子邮件)。并且没有错误。
  • 抱歉,这里的溜溜球 cmets 成功/不成功。 @aaronbertrand 提供的解决方案毕竟工作正常,发生的事情是我在服务器代理中手动“启动作业”进行测试,并没有手动“停止作业”,所以每次白天/时间测试设置通过步骤由于我的手动“开始作业”,它报告“已经开始”而无法开始。停止手动启动作业后,白天/时间执行开始正常工作。再次感谢。
【解决方案2】:

ashx 处理程序文件是一个 aspnet 文件,因此它可以在网站中使用。 因此,SQL Server 代理无法执行此类文件。 如果你想做一些计划任务,最好使用控制台应用程序(写在 csharp 上;-)。 最好的尊重

【讨论】:

  • 虽然@AaronBertrand 提供了对我立即有效的解决方案,但我注意到您也建议查看 C# 控制台应用程序。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多