我有几个登录用户与之交互的 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()
方法会在请求完成之前将请求存储在数据库中。这会是性能问题吗?我将如何更改此代码,以便在响应请求后进行数据库写入?
感谢您的建议。