我有一个在我们网站上调用页面的Windows服务有两个原因:1)保持网站活着,2)执行也存在于本网站上的网络服务方法。
在page_Load上,Web服务实例(SvcTaskRun)被编码为执行RunTasks()方法,我目前设置该方法每次调用时都会发送一封电子邮件,但稍后会执行一系列自动化任务。
Sub page_load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Dim SvcTaskRun As New MyTaskRunSvc.TaskRunSvc
Dim TaskListComplete As String = SvcTaskRun.RunTasks
End Sub
现在,每次加载keepalive页面时,我只是想让它运行(发送电子邮件)。
所以我的IIS日志告诉我,每次在keepalive.aspx上执行GET时,windows服务的ststus代码都是200。
但是,页面加载代码显然不会执行。
问题:知道为什么这不起作用? 问题:如何在等待Page_Load执行时实例化调试?以前从未使用过附件或其他任何东西,只能使用F5 / F11进行调试。
感谢
答案 0 :(得分:1)
如果有人来这里寻找答案,这就是我为解决这个问题所采取的措施。
显然网站不想从自己的网络服务中调用自己的网络方法。我想象ASPNET权限可能有问题,但由于架构更改不再需要从网站外部调用RunTasks方法,我只是将RunTasks方法作为Web应用程序的一部分移动到类中并在内部调用它瞧,它有效。