.net获取客户端信息(二)ashx部分-创新互联

H.ashx部分代码

站在用户的角度思考问题,与客户深入沟通,找到高邮网站设计与高邮网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广、域名申请雅安服务器托管、企业邮箱。业务覆盖高邮地区。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.SessionState;

namespace DHCC.OCCS.Track

{

   ///

   /// 用户跟踪主程序

   ///

   public class H : IHttpHandler, IRequiresSessionState

   {

       public void Proce***equest(HttpContext context)

       {

           using (DB.Entities db = new DB.Entities())

           {

               context.Response.ContentType = "text/plain";

               HttpRequest request = context.Request;//生成新对象

               try

               {

                   if (request.Params["jishu"] == "1")

                   {

                       DB.BrowserOS os = new DB.BrowserOS();

                       DB.BrowserLang lang = new DB.BrowserLang();

                       DB.BrowserType type = new DB.BrowserType();

                       DB.BrowserScreen screen = new DB.BrowserScreen();

                       DB.SiteTrack st = new DB.SiteTrack();

                       //获取操作系统信息

                       string os_os = "";

                       string os_os1 = "";

                       if (request.UserAgent.IndexOf("Windows NT 6.1") != -1)//通过useragent判断类型

                       {

                           os_os1 = "window7";

                           os_os = "window7_" + request.QueryString["os"];

                       }

                       else if (request.UserAgent.IndexOf("Windows NT 6.2") != -1)

                       {

                           os_os1 = "window8";

                           os_os = "window8_" + request.QueryString["os"];

                       }

                       else if (request.UserAgent.IndexOf("Windows NT 6.0") != -1)

                       {

                           os_os1 = "Vista";

                           os_os = "Vista_" + request.QueryString["os"];

                       }

                       else if (request.UserAgent.IndexOf("Windows NT 5.0") != -1)

                       {

                           os_os1 = "Windows2000";

                           os_os = "Windows2000_" + request.QueryString["os"];

                       }

                       else if (request.UserAgent.IndexOf("Windows NT 5.1") != -1)

                       {

                           os_os1 = "Windows XP";

                           os_os = "Windows XP_" + request.QueryString["os"];

                       }

                       else if (request.UserAgent.IndexOf("Windows NT 5.2") != -1)

                       {

                           os_os1 = "Windows XP x64";

                           os_os = "Windows XP x64" + request.QueryString["os"];

                       }

                       else if (request.UserAgent.IndexOf("Windows NT 6.3") != -1)

                       {

                           os_os1 = "Windows 8.1";

                           os_os = "Windows 8.1_" + request.QueryString["os"];

                       }

                       var o = db.BrowserOS.FirstOrDefault(c => c.os == os_os);//判断数据是否存在

                       if (o == null)//数据不存在添加到数据库中

                       {

                           if (os_os.IndexOf("32") != -1)

                           {

                               switch (os_os1)//按操作系统类型添加数据

                               {

                                   case "window7": os.comment = "32位window7/Windows Server 2008R2系统";

                                       break;

                                   case "window8": os.comment = "32位window8/Windows Phone/Windows Server 2012系统";

                                       break;

                                   case "Vista": os.comment = "32位Vista/Windows Server 2008系统";

                                       break;

                                   case "Windows2000": os.comment = "32位Windows2000系统";

                                       break;

                                   case "Windows XP": os.comment = "32位Windows XP系统";

                                       break;

                                   case "Windows XP x64": os.comment = "32位Windows XP x64 Edition/Windows Server 2003/Windows Server 2003 R2系统";

                                       break;

                                   case "Windows 8.1": os.comment = "32位Windows 8.1/Windows Server 2012 R2系统";

                                       break;

                                   default:

                                       break;

                               }

                           }

                           else if (os_os.IndexOf("64") != -1)

                           {

                               switch (os_os1)

                               {

                                   case "window7": os.comment = "64位window7/Windows Server 2008R2系统";

                                       break;

                                   case "window8": os.comment = "64位window8/Windows Phone/Windows Server 2012系统";

                                       break;

                                   case "Vista": os.comment = "64位Vista/Windows Server 2008系统";

                                       break;

                                   case "Windows2000": os.comment = "64位Windows2000系统";

                                       break;

                                   case "Windows XP": os.comment = "64位Windows XP系统";

                                       break;

                                   case "Windows XP x64": os.comment = "64位Windows XP x64 Edition/Windows Server 2003/Windows Server 2003 R2系统";

                                       break;

                                   case "Windows 8.1": os.comment = "64位Windows 8.1/Windows Server 2012 R2系统";

                                       break;

                                   default:

                                       break;

                               }

                           }

                           os.os = os_os;

                           db.BrowserOS.Add(os);

                           st.os = os.id;

                       }

                       else//如果数据存在

                       {

                           st.os = o.id;

                       }

                       string lang_lang = request.QueryString["lang"];//浏览器语言

                       var l = db.BrowserLang.FirstOrDefault(c => c.lang == lang_lang);

                       if (l == null)

                       {

                           switch (lang_lang)

                           {

                               case "zh-cn": lang.comment = "简体中文";

                                   break;

                               default:

                                   break;

                           }

                           lang.lang = lang_lang;

                           db.BrowserLang.Add(lang);

                           st.lang = lang.id;

                       }

                       else

                       {

                           st.lang = l.id;

                       }

                       //用户分辨率

                       string screen_screen = request.QueryString["screen"];

                       var sc = db.BrowserScreen.FirstOrDefault(c => c.screen == screen_screen);

                       if (sc == null)

                       {

                           screen.screen = screen_screen;

                           db.BrowserScreen.Add(screen);

                           st.screen = screen.id;

                       }

                       else

                       {

                           st.screen = sc.id;

                       }

                       //浏览器类型

                       string type_type = "";

                       if (request.UserAgent.IndexOf("MSIE 9.0") != -1)

                       {

                           type_type = "IE9";

                       }

                       else if (request.UserAgent.IndexOf("MSIE 8.0") != -1)

                       {

                           type_type = "IE8";

                       }

                       else if (request.UserAgent.IndexOf("MSIE 7.0") != -1)

                       {

                           type_type = "IE7";

                       }

                       else if (request.UserAgent.IndexOf("MSIE 6.0") != -1)

                       {

                           type_type = "IE6";

                       }

                       else if (request.UserAgent.IndexOf("MSIE 10.0") != -1)

                       {

                           type_type = "IE10";

                       }

                       else if (request.UserAgent.IndexOf("IE 11.0") != -1)

                       {

                           type_type = "IE11";

                       }

                       else if (request.UserAgent.IndexOf("Chrome") != -1)

                       {

                           type_type = "chrome";

                       }

                       else if (request.UserAgent.IndexOf("Firefox") != -1)

                       {

                           type_type = "Firefox";

                       }

                       else if (request.UserAgent.IndexOf("Opera") != -1)

                       {

                           type_type = "Opera";

                       }

                       else if (request.UserAgent.IndexOf("360SE") != -1)

                       {

                           type_type = "360";

                       }

                       var ty = db.BrowserType.FirstOrDefault(c => c.type == type_type);

                       if (ty == null)

                       {

                           switch (type_type)

                           {

                               case "IE9": type.comment = "IE9浏览器";

                                   break;

                               case "IE8": type.comment = "IE8浏览器";

                                   break;

                               case "360": type.comment = "360浏览器";

                                   break;

                               case "Opera": type.comment = "Opera浏览器";

                                   break;

                               case "Firefox": type.comment = "Firefox浏览器";

                                   break;

                               case "IE11": type.comment = "IE11浏览器";

                                   break;

                               case "IE10": type.comment = "IE10浏览器";

                                   break;

                               case "IE7": type.comment = "IE7浏览器";

                                   break;

                               case "IE6": type.comment = "IE6浏览器";

                                   break;

                               case "chrome": type.comment = "chrome浏览器";

                                   break;

                               default:

                                   break;

                           }

                           type.type = type_type;

                           db.BrowserType.Add(type);

                           st.type = type.id;

                       }

                       else

                       {

                           st.type = ty.id;

                       }

                       st.curUrl = request.Params["curUrl"];

                       st.fromUrl = request.Params["fromUrl"];

                       st.pagein = Convert.ToDateTime(request.Params["pagein"]);//进入页面时间

                       st.ip = request.UserHostAddress;//客户端ip地址

                       st.id = Guid.NewGuid().ToString("N");//随机分配id

                       db.SiteTrack.Add(st);

                       context.Response.Write(st.id);

                   }

                   else if (request.Params["jishu"] == "2")//离开时间

                   {

                       string id_id = request.Params["id"];

                       var st1 = db.SiteTrack.FirstOrDefault(c => c.id == id_id);

                       st1.pageout = Convert.ToDateTime(request.Params["pageout"]);

                   }

                   db.SaveChanges();

               }

               catch (Exception ex)

               {

                   Console.WriteLine(ex.Message);

               }

           }

       }

       public bool IsReusable

       {

           get

           {

               return false;

           }

       }

   }

}

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


标题名称:.net获取客户端信息(二)ashx部分-创新互联
网页网址:http://cdiso.cn/article/gpeoh.html

其他资讯