2010-05-09 58 views
1

我有一个用delphi编写的windows服务,该服务将用来从我的网站上下载文件,但它不能下载文件,也不会抛出任何异常我更改目标路径和要下载的文件,但结果是一样的,我的防火墙也关闭了,我的项目在另一台PC上正常工作,我测试它,并在Windows应用程序我的功能也正常工作,所以应该是什么问题? thx for ur timedelphi windows服务无法从网上下载文件

+0

当你说“无法下载文件”时,如果它没有抛出异常,你如何验证它?它只是挂起? – 2010-05-09 20:52:25

+0

与尝试除了块...在excpet尝试写在文本文件上的异常消息 – sam 2010-05-09 21:03:53

+0

这个问题的描述在哪里去了? – Nat 2010-07-18 01:03:28

回答

3

Normaly,LocalSystem下,服务无法访问网络资源。 你说它适用于另一台电脑,我无法解释为什么。 你说它在另一个应用程序中工作,是的,因为应用程序是用当前帐户执行的。

解决方案可能是在Network Service帐户下执行服务。 检查它是否解决了问题!

+0

如果是这样,大多数服务器应用程序将无法正常工作。 – 2010-05-10 20:07:52

0

检查运行服务的用户的访问权限。

默认情况下它是LocalSystem,它可能不被允许访问远程网络(即Internet)。尝试在你登录的同一用户下运行它。

希望这有助于

+0

thx但我说它可以在本地系统下的另一台电脑上正常工作 – sam 2010-05-09 21:19:39

+0

我的电脑使用共享连接访问互联网 – sam 2010-05-09 21:31:28

+0

这里是使用c#服务下载本地系统下的文件的例外情况: 异常消息:无法连接到远程服务器 connectFailure,Socket s4,套接字s6,套接字和套接字,IP地址和地址,ConnectSocketState状态,IAsyncResult asyncResult,Int32超时,异常和异常) – sam 2010-05-09 22:02:46

1

服务无法访问网络资源,例如通过UNC路径,但不应用其他访问权限。但是一项服务可以不受限制地使用TCP和UDP套接字。我已经编写了几个通过TCP/IP连接到远程服务器的服务,它们工作正常,无需额外的配置或访问权限。

0

您可以使用像Wireshark这样的工具来捕获和检查HTTP会话,并了解它是否是传输级别或其他问题的问题。