【问题标题】:C# .net windows service to communicate with remote web serviceC# .net windows 服务与远程 Web 服务通信
【发布时间】:2012-07-24 17:40:27
【问题描述】:

我有一个在 C#/.net 中实际上无法实现的要求。

这是我必须做的:

  • 编写一个持续运行并监控文件夹的 C# windows 服务
  • 更改后,它会启动并解析该文件夹中的文件
  • 获取此文件并将其传递给远程 Web 服务(soap 封装)。

这看起来很简单,但如果无法做到这一点,我愿意接受其他更简单或更好的解决方案。


我要添加的一件事是文件实际上位于 FTP 文件夹而不是常规文件夹。

【问题讨论】:

  • 不是一个好问题:这一切都完全有可能,而且您似乎有大致正确的想法。您有具体问题吗?
  • 我有两个具体问题 1) 文件需要通过 FTP 或网络共享文件夹读取 2) 文件内容的 Web 服务通过 SOAP。

标签: c# .net web-services soap filesystemwatcher


【解决方案1】:

是的,有可能

  1. FileSystemWatcher 可让您监控文件系统更改
  2. WCF upload 文件示例示例

【讨论】:

  • FileSystemWatcher 中偶尔出现的竞争条件是否已解决?我知道在是否检测到新文件时偶尔会出现一些奇怪的情况......
  • 为了帮助解决 FileSystemWatcher 的所有问题,我们在编写 Topshelf 时在其上覆盖了轮询:github.com/Topshelf/Topshelf/tree/master/src/Topshelf/…
  • @parapura rajkumar 你给它的 WCF 上传链接指向 REST 服务你有 SOAP 链接吗?
【解决方案2】:

这就像听起来一样简单。创建一个 Windows 服务,通过“添加 Web 引用”引用您的 SOAP API,并使用FileSystemWatcher 来监视文件更改。

【讨论】:

    【解决方案3】:

    你可以像其他人建议的那样FileSystemWatcher,但我个人不会,因为它不可靠。

    我会使用File.Exists 方法结合Timer 并定期轮询,更可靠

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      相关资源
      最近更新 更多