ログインしたユーザーがやり取りする Web サービスがいくつかあります。現在、それらは ASMX で実行されていますが、WCF へのアップグレードは保留中です。リクエストの名前、ユーザー ID、パラメータ、処理時間、エラーが発生した場合などを追跡するロガーを作成します。私はこのようなことを考えています:
public class MyWebService : System.Web.Services.Webservice
{
MyAppLogger TheAppLogger = new MyAppLogger();
[WebMethod(EnableSession = true)]
public string SomeWebService(string SomeParameters)
{
TheAppLogger.StartLogging();
TheJsonStringToReturn = "";
try
{
//do something that populates TheJsonStringToReturn
}
catch
{
TheAppLogger.LogException();
}
TheAppLogger.LogRequest();
return TheJsonStringToReturn;
}
}
私の質問は次のとおりです。今説明したとおりにすると、LogRequest()
メソッドはリクエストが完了する前にリクエストをDBに保存します。それはパフォーマンスの問題になるでしょうか?リクエストが応答された後にデータベースの書き込みが行われるように、このコードを変更するにはどうすればよいですか?
ご提案いただきありがとうございます。