0

Windows サービスを作成するのは初めてで、インターネットで多くの記事を読んだ後、自分で作成しました。正常にインストールされ、実行されますが、期待どおりに動作しません。

例えば:

タイマー内で、次のコードを呼び出します。

 Public Sub WriteLog(log As String)
    log = DateTime.Now.ToLongTimeString() & ", " & DateTime.Now.ToLongDateString() & vbNewLine & "  -> " & log

    Dim path As String = "c:\Temp\z1111.log"
    Dim sw As StreamWriter

    sw = File.AppendText(path)
    sw.WriteLine(log)
    sw.Flush()
    sw.Close()
End Sub

上記のコードは Windows フォーム プロジェクトで動作しますが、Windows サービスとして z1111.log という名前のファイルを作成し、コンテンツの上書きを追加し、他には何もしませんが、ファイルを削除すると、新しい日付と時刻で再度作成されます.

問題は、Windows フォームとして追加し、Windows サービスとして上書きして停止し、ファイルを削除したときにのみ機能するのはなぜですか?

プロジェクトをダウンロードできます: LINK

誰もそれを解決する方法を知っていますか?

4

1 に答える 1

0

ログ ファイルを Windows フォルダに変更することで、この問題を解決しました。これはセキュリティの問題です。

于 2013-10-16T19:40:02.993 に答える