我正在开发一个Windows服务,它可以监视几个文件夹以进行更改,创建和删除.除了一个观察单个文件(带有配置设置的XML文件)进行微小更改的观察者之外,一切运行良好.
我尝试使用Windows服务代码并将其放入一个简单的Windows应用程序,其中包含文件系统观察者的启动/停止按钮并逐步完成.它从不检测XML配置文件的文件更改.确实发生了更改,并且文件的"修改日期"正在更新.
XmlEventReferences = New System.IO.FileSystemWatcher()
XmlEventReferences.Path = "C:\XmlReferences\"
XmlEventReferences.Filter = "*.xml"
XmlEventReferences.NotifyFilter = IO.NotifyFilters.FileName
AddHandler XmlEventReferences.Changed, AddressOf ReloadEventReferences
AddHandler XmlEventReferences.Created, AddressOf ReloadEventReferences
AddHandler XmlEventReferences., AddressOf ReloadEventReferences
XmlEventReferences.EnableRaisingEvents = True
Run Code Online (Sandbox Code Playgroud)
这是一些代码,这是XML文件的示例:
<EventReference>
<ER_EL_NUMBER>1</ER_EL_NUMBER>
<ER_SEND_TO_DATABASE>true</ER_SEND_TO_DATABASE>
<ER_ACTIVATE_ALARM>true</ER_ACTIVATE_ALARM>
<ER_DESCRIPTION />
</EventReference>
Run Code Online (Sandbox Code Playgroud) 我正在使用FileSystemWatcher重命名Watched目录中的文件.
如果同时复制到监视目录的文件数超过50的数量,则会出现问题...
对于前50个文件成功触发重命名事件,但之后没有任何反应
有什么建议吗?
我创建了一个使用FileSystemWatcher监视目录的Windows服务,当文件放入文件夹时,它会将其拉链.
所有功能都在我创建的名为FileProcessor的类中.
当我创建一个使用FileProcessor的控制台应用程序时,自动压缩工作效果很好.但是,当我在Windows服务中运行该类时,它永远不会工作.
在我的软件中,我将在我的一个文件夹中收到一个XML文件和一个PDF文件,所以我想启动一个事件来读取XML,这样我就可以管理这些文件了.
我怎么能检测到这个事件,你可以给我一本关于事件或页面的书,也许给我一个例子.
我创建了一个应用程序,它可以监视任何*.*文件的文件夹(目录).当我通过具有断点的VS2010进行调试时,该应用程序正常工作.
删除断点时,相同的应用程序不起作用.
我失踪的任何东西...
我有一个文件夹,其中包含将由Web服务创建的临时文件.我希望通过命令行使用.exe程序转换文件.现在,我已经生成了将在一个特定文件夹中创建文件和存储的Web服务.
这是场景:
现在,我对step1-3没有任何问题.问题是step4,我需要将.amr文件转换为.mp3文件.为了做到这一点,我需要将一些dos命令传递给converter.exe.我发现我不可能从我的网络服务中做到这一点,所以我正在考虑创建C#Windows服务,它将观察存储文件的文件夹.是否可以创建能够检测新文件创建的Windows服务并在创建新文件后立即运行converter.exe?我在互联网上搜索并发现我可能使用FileSystemWatcher创建Windows服务,但我不确定它是否可行.
我在尝试从web服务执行converter.exe时发现的原因是关于权限.我做了一切,但仍然无法成功.(使用Web服务,converter.exe在任务管理器的进程列表中显示为本地系统,但由于某些安全原因它不会被执行...)希望有当我尝试使用Windows服务执行converter.exe时没有安全问题.
提前感谢所有的答案和建议:)
是否可以使用FileSystemWatcher查找正在更改文件的PID或进程名称?
我有一个Windows应用程序,它使用FileSystemWatcher来监视文件的更改.可以添加多个文件位置,并为每个位置创建一个新的FileSystemWatcher实例,并将该位置添加到列表框中.可以选择从列表框中删除位置.删除位置时,我需要删除/处理FileSystemWatcher的特定实例.有没有办法达到这个目的?提前致谢.
FileSystemWatcher fsw;
private void CreateFWInstance(string strLoc)
{
if (strLoc != string.Empty)
{
fsw = new FileSystemWatcher();
fsw.Changed += new FileSystemEventHandler(OnChanged);
fsw.Path = strLoc;
fsw.SynchronizingObject = this;
fsw.EnableRaisingEvents = true;
}
}
Run Code Online (Sandbox Code Playgroud) 我是Visual Studio和C#的新手.我习惯使用XCode和Objective-C,但现在正在尝试编写Windows 8应用程序.我试图FileSystemWatcher在用户单击我的应用程序中的按钮时设置,但由于某种原因,Visual Studio拒绝识别我可以执行此操作并抛出错误.这是我写的一个例子:
using System;
using System.IO;
...
namespace My_APP
{
...
public sealed partial class MainPage : My_App.Common.LayoutAwarePage
{
...
public void button_click_1(object sender, RoutedEventArgs e)
{
FileSystemWatcher watch = new FileSystemWatcher();
}
}
}
Run Code Online (Sandbox Code Playgroud)
在FileSystemWatcher以红色与错误下划线两次:Error 1 The type or namespace name 'FileSystemWatcher' could not be found (are you missing a using directive or an assembly reference?) 我在做什么错了(我敢肯定,这是令人难以置信的东西简单).
c# filesystemwatcher visual-studio microsoft-metro visual-studio-2012
我陷入了困境.我有一个同步程序,我需要知道观看的项目是文件还是文件夹.问题是我正在检查文件或文件夹是否存在 - 无论如何,如果我正在检查文件,则File.Exists始终返回false:
private void onDelete(object o, FileSystemEventArgs e)
{
if (Directory.Exists(e.FullPath))
Directory.Delete(watched + e.Name, true);
if (File.Exists(e.FullPath))
File.Delete(e.FullPath);
}
Run Code Online (Sandbox Code Playgroud)
有谁知道问题出在哪里?