久しぶりの読者投稿です。
Windows サービスに移動する前に、100% 正常に機能する Windows フォーム アプリケーション内で動作するファイルウォッチャーを作成しましたが、現在 2 つの個別の問題が発生しています。このファイル ウォッチャーは、行更新用のフラットファイルを読み取り (lastwrite)、ファイルを削除/再作成し (streamwriter)、最後に厳密に型指定されたデータ セットを解析してから、SQL サーバーにアップロードします。(これは私の最初の Windows サービスです) 質問:
1. filewatcher の二重イベント トリガーは、フォーム アプリケーションとは異なる方法でサービスに影響を与えますか?
2.私が呼び出しているクラスに問題がない場合、スレッドが壊れる理由について誰か答えがありますか?
3. Windows サービスを介した Windows 認証に関する既知の問題はありますか?
4. Windows サービスの強力なデバッグ方法を持っている人はいますか?
これがWindowsサービスからの私のコードです。コードにばかげた間違いがある場合は、事前に感謝し、謝罪します。これも初めてWindowsサービスを作成します。
FileMonitor m_FileMonitor;
public WindowsService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
try
{
Thread myThread = new Thread(DoTheWork);
myThread.Start();
}
catch
{
}
}
void DoTheWork()
{
m_FileMonitor = new FileMonitor(Properties.Settings.Default.PathToFileToWatch, Properties.Settings.Default.PathToErrorLog);
}
protected override void OnStop()
{
// TODO: Add code here to perform any tear-down necessary to stop your service.
}