是否有可能在Windows XP上创建一个可以检测新文件创建的c# Windows Service ?

本文关键字:Windows 检测 文件创建 Service 一个 XP 有可能 创建 是否 | 更新日期: 2023-09-27 18:06:05

我有一个文件夹,其中包含一个将由web服务创建的临时文件。我想通过命令行将文件转换为。exe程序。现在,我已经生成了一个web服务,它将创建文件并存储在一个特定的文件夹中。

场景如下:

  1. Web服务从我的移动应用程序接收amr字节数据。
  2. Web服务删除文件夹中存在的所有文件。(删除上一轮生成的。amr文件和。mp3文件)
  3. Web服务在文件夹中创建新的.amr文件。
  4. Windows服务检测到有一个新文件创建。它调用converter.exe。完成后,它会在同一文件夹中创建。mp3文件。

现在,我对步骤1-3没有问题。问题是第4步,我需要将。amr文件转换为。mp3文件。为了做到这一点,我需要传递一些dos命令到converter.exe。我发现我不可能从我的web服务中做到这一点,所以我正在考虑创建c# Windows服务,它将监视存储文件的文件夹。是否有可能创建能够检测新文件创建并在新文件创建后立即运行converter.exe的Windows服务?我确实在互联网上搜索,发现我可以用FileSystemWatcher创建Windows服务,但我只是不确定这是否可能。

当我试图从web服务执行converter.exe时,我发现的原因是关于权限。我什么都做了,但还是没有成功。(使用Web服务,converter.exe在任务管理器的进程列表中显示为本地系统,但由于某些安全原因,它不会被执行…)希望在使用Windows Service执行converter.exe时不会出现安全问题。

提前感谢所有的答案和建议:)

是否有可能在Windows XP上创建一个可以检测新文件创建的c# Windows Service ?

System.IO。FileSystemWatcher可以做到这一点。Created事件将告诉您何时在您正在监视的目录中创建了一个文件。要启动转换程序,请查看System.Diagnostics.Process.Start方法。