예제 #1
0
        private void LogReq(object sender, EventArgs e)
        {
            var app = sender as HttpApplication;
            var req = app.Request;
            string userAgent = req.UserAgent;
            string requestUrl = req.Url.AbsolutePath;
            string referer = req.UrlReferrer != null ? req.UrlReferrer.AbsolutePath : "";
            string userHostAddress = req.UserHostAddress;
            string userName = req.LogonUserIdentity.Name; // change as needed

            Task.Factory.StartNew(() =>
                {
                    using (var scope = _Container.BeginLifetimeScope())
                    {
                        var db = scope.Resolve<LoggingDBDataContext>();
                        WebRequestLog newLogItem = new WebRequestLog();
                        newLogItem.Referer = referer;
                        newLogItem.RequestUrl = requestUrl;
                        newLogItem.UserAgent = userAgent;
                        newLogItem.UserHostAddress = userHostAddress;
                        newLogItem.UserName = userName;
                        db.WebRequestLogs.InsertOnSubmit(newLogItem);
                        db.SubmitChanges();
                    }
                });
        }
 partial void UpdateWebRequestLog(WebRequestLog instance);
 partial void DeleteWebRequestLog(WebRequestLog instance);
 partial void InsertWebRequestLog(WebRequestLog instance);