1

Windowsフォームアプリケーションを実行するWindowsServer2008R2サーバー上にサービスを構築しました。これはすべて機能していますが、共有ネットワークの場所のログにエラーを書き込みたい場合、エラーが発生します。

しかし、奇妙なことに、Windowsフォームプロジェクトから実行可能ファイルを管理者として実行すると機能しますが、管理者アカウントでサービスを実行するとエラーが発生します。

これは、ログファイルに書き込む方法のコードです。最初にL:\に書き込もうとします。それが機能しない場合は、C:\に書き込みます。

    Try
        Using writer As StreamWriter = New StreamWriter("L:\subfolder\subfolder\log.txt", True)
            writer.WriteLine(Now & " - project started. Build 7-12-2012")
        End Using
    Catch ex As System.Exception
        Using writer As StreamWriter = New StreamWriter("c:\subfolder\log.txt", True)
            writer.WriteLine(Now & " - ERROR " & ex.ToString)
        End Using
    Finally
    End Try
4

1 に答える 1

2

マップされたドライブはユーザーとセッションに依存することが多いため、デスクトップでプログラムを実行している間はドライブLが存在しますが、サービスとして実行している場合は、ドライブLがマップされておらず、存在しない可能性があります。次のような完全なネットワークパスを使用することをお勧めします\\servername\sharedfolder\...

于 2012-12-07T15:54:18.437 に答える