0

我的任务是创建一项服务,以远程(仍然在网络上)通过计算机名称或 IP 地址访问其他 PC,并每小时从预定文件夹中收集日志文件。这必须在后台完成,系统托盘图标允许用户调出菜单以更改日志收集频率、更改计算机收集来源和保存位置。无论出于何种原因,我都很难找到入门资源,我不太确定要搜索什么,但我想了解如何设置服务以允许通信/远程访问另一台计算机上的目录在它的网络中。如果答案很明显,我深表歉意,这是我第一次使用我自己的软件在计算机之间进行任何类型的远程处理,但如果有人有资源或链接可以备用,我

注意:我已签出使用 .NET Remoting 传输文件?但尚不清楚这是否有帮助

4

1 回答 1

2

您不需要远程处理。您需要做的就是在远程计算机上设置一个共享,以便您可以通过网络访问其文件。因此,例如,如果远程计算机名为 SITHLORD,目录为 C:\SomeApp\LogFiles。. .

首先,在 SITHLORD 机器上,确保启用了文件共享,然后共享该目录。称之为日志文件。

在将运行该服务的机器上,您应该能够通过在命令提示符下键入以下命令从命令行访问这些文件:

dir \\SITHLORD\LogFiles

如果出现错误,则必须先解决该错误,然后才能继续进行。

在您能够从命令行查看文件后,您可以编写 C# 代码来扫描目录并读取文件。所有标准 .NET 文件操作(Directory.GetFilesFile.Open等)都适用于网络路径。因此,您可以使用以下命令复制该目录中的文件“MyLogFile1.log”:

File.Copy(@"\\SITHLORD\LogFiles\MyLogFile1.log", @".\Archive\SithLord\MyLogFile1.log");

也就是说,您所说的听起来像是您最好使用 PowerShell 脚本和计划任务执行的操作,使用 C# 程序来更改脚本的配置并修改任务配置。编写一个 Windows 服务来做到这一点似乎有点过头了。

但是,如果您决定编写 Windows 服务,您所需要的只是简单的文件操作。

于 2013-07-16T20:41:57.957 回答