Exemplo n.º 1
0
 /// <summary>
 /// 插入浏览记录
 /// </summary>
 /// <param name="vlog"></param>
 /// <param name="tableName"></param>
 /// <returns></returns>
 public static int VisitLog_Insert(VisitLogInfo vlog, string tableName)
 {
     using (var logAccess = new DataAccess_QzNews(Constants.SysLog_App_Db_Key))
     {
         return(logAccess.VisitLog_Insert(vlog, tableName));
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// 插入访问日志或分享日志
        /// </summary>
        /// <param name="rData"></param>
        /// <param name="shareUrl"></param>
        /// <param name="preTableName"></param>
        /// <returns></returns>
        private int VisitLog_Insert(NewsContentInfo_RD rData, string shareUrl, string preTableName = "VisitLog_")
        {
            WebOperationContext context = WebOperationContext.Current;

            context.OutgoingResponse.ContentType = "application/json; charset=utf-8";
            VisitLogInfo vlog = new VisitLogInfo();
            IncomingWebRequestContext inContext = context.IncomingRequest;
            UserAgent ua = UserAgentCache.CreateOrGetCacheItem(inContext.UserAgent);

            vlog.vl_browser    = ua.GetBrowser();
            vlog.vl_cookieId   = string.Empty;
            vlog.vl_createTime = DateTime.Now;
            vlog.vl_gid        = rData.n_gid;
            vlog.vl_id         = 0;
            vlog.vl_ip         = Util.Get_RemoteIp();
            vlog.vl_remoteAddr = vlog.vl_ip;
            vlog.vl_osName     = ua.GetPlatform();  // todo 操作系统的获取可能需要重新实现
            //UserAgent.KeyItem ki = ua.Spider();
            vlog.vl_spiderName = rData.vl_spiderName != null?ShareFlatform(rData.vl_spiderName) : string.Empty;

            vlog.vl_referrer = WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri.OriginalString + "/" + rData.n_gid;
            vlog.vl_url      = shareUrl;// 拼接成PC端地址
            vlog.vl_cateId   = rData.vl_cateId;
            //vlog.vl_screenSize = string.Empty;
            vlog.vl_totalTime = 0;
            vlog.vl_type      = rData.vl_type;
            string userName = rData.vl_userId;

            vlog.vl_userName   = (userName == "|") ? "" : userName;
            vlog.vl_screenSize = rData.vl_screenSize;
            vlog.vl_host       = WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri.Host; // 主域名
            string tblName = preTableName + vlog.vl_createTime.ToString("yyyyMMdd");                           // 插入表的表名
            // 插入浏览记录
            int logIndex = DataAccess_News.VisitLog_Insert(vlog, tblName);

            return(logIndex);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 插入访问日志
        /// </summary>
        /// <param name="obj">The obj.</param>
        /// <param name="tableName">Name of the table.</param>
        /// <returns></returns>
        public int VisitLog_Insert(VisitLogInfo obj, string tableName)
        {
            string SQL = string.Format(@"INSERT INTO {0}(
                        vl_type,
                        vl_cateId,
                        vl_gid,
	                    vl_cookieId,
	                    vl_userName,
	                    vl_referrer,
	                    vl_url,
	                    vl_totalTime,
	                    vl_ip,
	                    vl_osName,
	                    vl_browser,
	                    vl_screenSize,
	                    vl_spiderName,
	                    vl_createTime,
	                    vl_host,
	                    vl_remoteAddr
                    ) VALUES(
                        @vl_type,
                        @vl_cateId,
                        @vl_gid,
	                    @vl_cookieId,
	                    @vl_userName,
	                    @vl_referrer,
	                    @vl_url,
	                    @vl_totalTime,
	                    @vl_ip,
	                    @vl_osName,
	                    @vl_browser,
	                    @vl_screenSize,
	                    @vl_spiderName,
	                    getdate(),
	                    @vl_host,
	                    @vl_remoteAddr
                    ); set @vl_id=@@identity", tableName);

            DbCommand dbCommandWrapper = Db_0.GetSqlStringCommand(SQL);

            Db_0.AddOutParameter(dbCommandWrapper, "@vl_id", DbType.Int32, 4);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_type", DbType.String, obj.vl_type);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_cateId", DbType.String, obj.vl_cateId ?? string.Empty);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_gid", DbType.String, obj.vl_gid);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_cookieId", DbType.String, obj.vl_cookieId);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_userName", DbType.String, obj.vl_userName);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_referrer", DbType.String, obj.vl_referrer);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_url", DbType.String, obj.vl_url);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_totalTime", DbType.Int32, obj.vl_totalTime);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_ip", DbType.String, obj.vl_ip);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_osName", DbType.String, obj.vl_osName);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_browser", DbType.String, obj.vl_browser);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_screenSize", DbType.String, obj.vl_screenSize);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_spiderName", DbType.String, obj.vl_spiderName);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_host", DbType.String, obj.vl_host);
            Db_0.AddInParameter(dbCommandWrapper, "@vl_remoteAddr", DbType.String, obj.vl_remoteAddr);

            try
            {
                Db_0.ExecuteNonQuery(dbCommandWrapper);
                int vl_id = (int)dbCommandWrapper.Parameters["@vl_id"].Value;

                return(vl_id);
            }
            catch (Exception e)
            {
                // 创建日志表
                this.createVisitLog(tableName);

                return(-1);
                //throw new Exception(e.Message);
            }

            /*using(DataAccess access = new DataAccess())
             * {
             *  return access.tbVisitLog_Insert( obj );
             * }*/
        }