0

我想我不了解 asp 或 windows 服务的工作原理。

我正在尝试为我的 asp.net 项目创建计划报告。我现在有一个 Windows 服务在我的本地机器上运行,稍后它将在专用服务器上运行。它应该每隔几分钟请求一个 ASP 页面,并且在被请求时,该网页当前通过 page_load 向我发送电子邮件。这是我在 Windows 服务中用来调用网页的代码。

HttpWebRequest request= (HttpWebRequest)WebRequest.Create(address);
request.Method = "GET";
response = request.GetResponse();
reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
result = reader.ReadToEnd();

我知道它已经走到了这一步,因为我也一直在让服务人员在每一步都给我发电子邮件。但是,当服务请求页面时,网页什么也不做。如果我将 asp 页面的地址粘贴到浏览器中,那么我会从该页面收到一封电子邮件。ASP.NET 网站在我的计算机上以 VS 调试模式运行。该服务是否必须先打开浏览器?

如果页面需要浏览器才能工作,有没有办法让我在我的 asp 项目中运行代码而无需定期打开浏览器?

4

2 回答 2

1

您(几乎)无法从 Windows 服务打开浏览器,而且这样做是错误的。您可以将电子邮件发送转移到服务吗?

于 2013-03-25T21:13:48.870 回答
1

您可以简单地使用任务调度程序调用您的网页

//Create a new scheduled task to open a browser eg: internet explorer then right
//click properties, in the run window type in with the quotes an example
"C:\Program Files\Internet Explorer\iexplore.exe" "http://www.mywebsite.com/something/myactionpage.chtml" 
//If you want to open the page with another browser, just change the first path

或者像那样

在 Windows 服务中使用的最佳计时器

于 2013-03-25T21:20:14.433 回答