1

这是对此处的问题的后续问题

这是我想要做的简要说明。文件服务器创建一个文本文件来指示进程的结束。在 Web 服务器上的网页上,我每 x 秒循环一次并发出一个 ajax 请求以查明测试文件是否存在(对 ajax 的请求http://fileserver/files/UserFile.txt

到目前为止,我已经尝试了以下方法:

  • 从客户端触发一个 Web 方法,该方法创建一个 HttpContext 对象以验证文本文件是否存在。但这在服务器上太费劲了,我开始在事件查看器中收到各种异常。
  • YQL 效果很好,但不幸的是它太慢了。用户等待的时间至少是两倍。

我正在寻找不涉及服务器端的解决方案。不知何故,我想使用 JQuery 来验证文件服务器上是否存在文本文件。

有什么想法吗?

4

3 回答 3

1

您应该能够使用JSONPJQuery.ajax()来完成跨域请求工作。使用jsonpjsonpCallback属性。或者,您可以使用JQuery.getJSON()

于 2010-09-01T15:07:23.327 回答
0

从文件系统提供单个文件是 Web 服务器可以做的最简单的操作。如果这已经太多了,那么所有其他解决方案都会变得更糟。找出为什么服务器需要这么长时间来提供一个简单的文件并修复它。

注意:我假设文件很小,因为您说“测试文件”。如果它是一个大文件,服务器实际上会将它发送给需要大量资源的客户端。

您可以尝试向网站添加一个 ASP 页面,该页面在服务器上运行代码,检查文件是否存在并返回一小段 HTML,您可以使用jQuery.load().

于 2010-09-01T14:58:08.053 回答
0

我可能离基地很远,但是......你能不能创建一个异步(!)Ajax 客户端请求,并且超时。开火,然后等待。您将调用一些服务器脚本,在服务器上的一个循环中(在两者之间使用睡眠)每隔一段时间检查文件是否存在。并且在文件最终显示之前不回复 Ajax 请求。然后服务器脚本回复并退出。

编辑:根据使用的服务器端脚本框架,您甚至可以获得一些操作系统支持。您可能可以在目录中的状态更改时睡觉...

于 2010-09-01T18:26:21.357 回答