我有一个文件夹,其中包含一个由Web服务创建的临时文件。我希望通过命令行使用.exe程序转换文件。现在,我已经生成了将在一个特定文件夹中创建文件和存储的Web服务。
以下是该方案:
现在,我对步骤1-3没有任何问题。问题是step4,我需要将.amr文件转换为.mp3文件。为了做到这一点,我需要将一些dos命令传递给converter.exe。我发现我不可能从我的网络服务中做到这一点,所以我正在考虑创建C#Windows服务,它将观察存储文件的文件夹。是否可以创建能够检测新文件创建的Windows服务并在创建新文件后立即运行converter.exe?我在互联网上搜索并发现我可能使用FileSystemWatcher创建Windows服务,但我不确定它是否可行。
我在尝试从web服务执行converter.exe时发现的原因是关于权限。我做了一切,但仍然无法成功。(使用Web服务,converter.exe在任务管理器的进程列表中显示为本地系统,但由于某些安全原因它不会被执行...)希望有当我尝试使用Windows服务执行converter.exe时,没有安全问题。
提前感谢所有答案和建议:)
答案 0 :(得分:6)
System.IO.FileSystemWatcher会做到这一点。 Created
事件将告诉您何时在您正在观看的目录中创建文件。要开始转换计划,请查看System.Diagnostics.Process.Start方法。这两种方法在Windows服务中都可以正常工作。