我想要实现的是
服务器端(或ASP.NET页面(我还不知道我需要什么))
问题是#1如何定期检查服务器端的新数据?如果这是一个桌面应用程序,我肯定会使用计时器。
我被困在这里了。你能告诉我你认为应该是什么样子吗?
谢谢
发布于 2012-10-24 07:14:19
您的意思是“检查来自现有页面的HTTP请求上的最新数据”是什么意思?它是您的页面,还是其他人的?另外,为什么您认为您的代码需要在WCF服务或ASP.NET页面中呢?根据您到目前为止所讲的,这听起来像是一个常规的可执行文件。让我们回顾一下它会做些什么:
这两个任务都不涉及为Web页面提供服务。如果这段代码需要以某种方式与网站进行交互,这是可以的;但它不一定是该网站的一部分。它可以,但它不必这样做。
也就是说,纯粹在Web服务器环境中运行预定任务是很棘手的,几乎是不可能的。有多种调度工具(首先想到的是Windows)--但它们主要是面向执行程序的--也就是说,独立程序,EXE。如果您必须在一个Web服务器中运行这段代码,您可以编写一些可执行的独立程序(例如,在JavaScript中使用XMLHTTPRequest,或者cURL调用),这将导致对本地Web服务器的HTTP请求,并安排对任务调度程序中所述脚本的调用。
编辑:调度本身不能也不应该是基于Web的。调度引擎位于Web服务的外部--大多数托管提供商都会在Windows任务计划程序之上提供这样的服务。检查服务器的管理接口(CPanel、RDP或其他什么)。
无论如何,要从调度程序调用网页,请调度以下命令:
cscript.exe c:\SomePath\CallWeb.js
CallWeb.js的情况是这样的:
var xh = new ActiveXObject("Msxml2.XMLHTTP");
xh.open("GET", "http://localhost/mypage.aspx", false);
xh.send();
其中mypage.aspx是提取SonDepremler.aspx的页面,解析、检测更改并发送GCM的。
这是对您的问题#1的答案--您如何在托管的Web服务器环境中进行一些预定的处理。如果你被这个解决方案的其他部分困住了,请分别问一些问题。
https://stackoverflow.com/questions/13045795
复制相似问题