FileWatcher
クラスを使用してWindowsサービスを構築しました。フォルダ内の着信ファイルを検出し、新しい場所に移動する必要があります。Windowsサービスが期待どおりに動作しない - C#
私のコードはコンソールアプリケーションとして正常に動作していますが、Windowsサービスとしては機能していません。ファイルはソースフォルダにのみ保存されています。彼らは宛先に移動していません.LOCAL SYSTEMアカウントで実行されているフォルダとサービスにフルアクセスできました。エラーを指摘してください。前もって感謝します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace WindowsService1
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
bulk_watch();
}
public static void bulk_watch()
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = @"C:\Users\ADMIN\Downloads\FW_Source";
watcher.NotifyFilter = NotifyFilters.LastWrite;
watcher.Filter = "*.*";
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.EnableRaisingEvents = true;
}
public static void OnChanged(object sender, FileSystemEventArgs e)
{
DirectoryInfo directory = new DirectoryInfo(@"C:\Users\IBM_ADMIN\Downloads\FW_Source");
FileInfo[] files = directory.GetFiles("*.*");
foreach (var f in files)
{
File.Move(f.FullName, System.IO.Path.Combine(@"C:\Users\ADMIN\Downloads\FW_Dest", Path.GetFileName(f.FullName)));
}
}
protected override void OnStop()
{
}
}
}
何が問題なのですか? Windowsサービスをデバッグしようとしましたか?何がうまくいかないかの詳細を記入してください。 –
アクセス権が不十分ですC:\ Users \ ADMIN? – duDE
ハエは目的地まで移動していません。ファイルはソースフォルダ – METALHEAD