1

Windowsサービスアプリケーションを開発しました。このサービスは、filewatcherを開始し、作成されている.csvファイルをリッスンしてから、そのファイルを処理するだけです。以前は監視にアプリケーションフォルダを使用していましたが、アプリケーションルートディレクトリ内のファイルをコピーするにはセキュリティ権限が必要なため、パスをマイドキュメントフォルダに変更することにしました。インストールプロセス中にインストーラーが完了すると、マイドキュメントフォルダーの下にProductNameフォルダーが作成されます。(アーカイブフォルダーもProductNameフォルダーの下に作成されます。)インストール後、My Documents \ ProductName \Archive\のような構造になります。

サービスを開始しようとすると停止し、イベントビューア内に表示される唯一の例外は次のとおりです。

例外情報:System.ArgumentExceptionスタック:System.IO.FileSystemWatcher.set_Path(System.String)で

public partial class ServiceName : ServiceBase
{
    private readonly IMachineResultProcessos _controler;
    private readonly FileSystemWatcher _watcher;
    private readonly string _rootpath = Path.Combine(Environment.GetFolderPath( Environment.SpecialFolder.MyDocuments),"ProductName");

    public ServiceName()
    {
        InitializeComponent();
        _controler = new DataProcessos();
        _watcher = new FileSystemWatcher
                       {
                           Path = _rootpath + @"\Archive",
                           Filter = "*.csv"
                       };

        _watcher.Created += OnFileCreated;
        _watcher.EnableRaisingEvents = true;
    }

}

デバッグ下で動作しますが、クライアントマシンにデプロイするときに問題があります。

任意の提案やアイデアを歓迎します。

4

0 に答える 0