相关疑难解决方法(0)

filesystemwatcher作为Windows服务?

我打算创建一个应用程序,它将查看创建的任何文件的目录.非常简单的时间来使用filesystemwatcher.我的问题涉及如何利用它.通常的做法是使用Windows服务来确保应用程序始终运行?

我一直试图摆脱构建Windows服务,如果我不需要,但我真的没有看到在这种情况下这样做的替代方案.通常,我会将我的服务转换为控制台应用程序并使用Windows调度程序安排它,但这并不适用于这种情况.

任何人都可以推荐一种比Windows服务更好的方式来实现filesystemwatcher吗?

谢谢你的想法.

编辑 以回应下面的评论,更具体地说,我只需要在服务器上查看目录,并且当创建新文件时,我必须将该文件的副本移动到同一服务器上的不同目录中,也许重命名它在这个过程中.

文件的频率和数量将非常小.一天最多可能5-10.

c# windows-services filesystemwatcher

8
推荐指数
1
解决办法
6094
查看次数

保持表单应用程序和Windows服务(或任何n层,真正)之间的设置同步

我有一个Windows服务,执行一些定期活动,我想从Windows窗体应用程序更改此服务的设置.但是,我不确定是否有最好的方法来确保服务中包含最新的用户首选项(运行频率,用于事物的文件夹,用户可以指定的任何其他内容).用户可以随时随地更改设置,我希望服务几乎立即就知道了.以下是我正在权衡的选项:

  1. 表单和服务共享使用来自第三个共享项目的相同"设置"对象,并且表单使用WCF"UpdateSettings(newSettings)"调用让服务知道已发生更改(或者,可选地,调用更新每个单独的设置,虽然这似乎很多不同的电话).我目前使用WCF作为基本消息,但设置对象可能很大,因为那里有很多其他的东西
  2. 表单和服务使用公共配置文件(XML,或#1中的相同设置对象,但序列化为磁盘).表单只是在更改后写入对象的新副本,并且服务会经常检查并在新的时候进行检查,更新其设置副本
  3. 与#2相同,但有一个基本的WCF调用,告诉服务去获取设置.基本上,是"按需"而不是"轮询"版本的#2.

我知道最好是主观的,但我对这些选择的任何明显的赞成或反对的原因感兴趣.因为我必须在应用程序的运行之间保存我的设置(重新启动等),所以我必须将设置序列化到磁盘,所以我已经倾向于#2或#3.我需要在磁盘上放置一个可以保存设置的地方,但也许AppData文件夹可以正常工作,但这只会让管理员更改设置,因为他们是唯一有权写入此位置的人(每个用户,包括服务帐户,都可以阅读它).

感谢您的见解!

.net wcf serialization multi-tier application-settings

5
推荐指数
1
解决办法
3454
查看次数