0

以下のように、生成されたすべてのSQLをログに記録します。ここで、例外を同じファイルに記録したいと思います。

StreamWriter mLogFile = new StreamWriter(LogFilePath,true){AutoFlush=true};

try
{
MyDataContext mdc = new MyDataContext();
mLogFile.WriteLine(CurrentDateString);
mdc.Log = mLogFile;
BLAH BLAH DB STUFF
mdc.SubmitChanges();
}
catch(Exception x)
{

}

私が欲しいのは、例外が発生したときだけです。ログ ファイルに例外情報を追加したいと考えています。catch ブロック内のファイルに writeLine するだけでよいかどうかはわかりません。datacontext がログ ファイルをリリースするのはいつですか? submitchanges はいつ戻ってきますか? 例外があるとどうなりますか?コメントはありますか?

4

1 に答える 1

1

データ コンテキストは、ログの所有権を取得しません。あなたはそれを解放する責任があります。したがってStreamWriterusingブロックでラップすることをお勧めします。したがって、あなたの質問に答えるには: はい、catchブロック内のログに書き込むことができます (それまでに破棄していないと仮定しますStreamWriter)。

于 2012-12-05T15:53:33.663 に答える