.net獲取客戶端信息(三)ashx部分--面向?qū)ο?創(chuàng)新互聯(lián)

using System;

創(chuàng)新互聯(lián)建站專注于容縣企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站制作。容縣網(wǎng)站建設(shè)公司,為容縣等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace modeltest

{

   /// <summary>

   /// test11 的摘要說明

   /// </summary>

   public class test11 : IHttpHandler

   {

       public void Proce***equest(HttpContext context)

       {

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

           HttpRequest request = context.Request;

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

           {

               try

               {

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

                   {

                       string cu = request.Params["curUrl"];

                       string fu = request.Params["fromUrl"];

                       var pi = Convert.ToDateTime(request.Params["pagein"]);

                       string ip = request.UserHostAddress;

                       string id = Guid.NewGuid().ToString("N");

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

                       string lang_lang = request.QueryString["lang"];

                       string ua = request.UserAgent;

                       string os32 = request.QueryString["os"];

                       int screen =this.getScreen(screen_screen);

                       int lang=this.getLang(lang_lang);

                       int type=this.getType(ua);

                       int os=this.getOs(ua,os32);

                       addSiteTrack(cu, fu, pi, ip, id, screen, lang, type, os);

                       context.Response.Write(id);

                   }

                   else if (request.Params["jishu"] == "2")

                   {

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

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

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

                   }

                   db.SaveChanges();

               }

               catch (Exception ex)

               {

                   Console.WriteLine(ex.Message);

               }

           }

       }

       //向siteTrack表賦值

       public void addSiteTrack(string cu,string fu,DateTime pi,string ip,string id,int screen,int lang,int type,int os)

       {

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

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

           st.curUrl = cu;

           st.fromUrl = fu;

           st.pagein = pi;

           st.ip = ip;

           st.id = id;

           st.screen = screen;

           st.lang = lang;

           st.type = type;

           st.os = os;

           db.SiteTrack.Add(st);

           db.SaveChanges();

       }

       //向screen表賦值

       public int getScreen(string screen_screen)

       {

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

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

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

           if (sc == null)

           {

               screen.screen = screen_screen;

               db.BrowserScreen.Add(screen);

               db.SaveChanges();

               return screen.id;

           }

           else

           {

               return sc.id;

           }

       }

       //向lang表賦值

       public int getLang(string lang_lang)

       {

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

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

           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);

               db.SaveChanges();

               return lang.id;

           }

           else

           {

               return l.id;

           }

       }

       //向type表賦值

       public int getType(string us)

       {

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

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

           string type_type = "";

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

           {

               type_type = "IE9";

           }

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

           {

               type_type = "IE8";

           }

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

           {

               type_type = "IE7";

           }

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

           {

               type_type = "IE6";

           }

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

           {

               type_type = "IE10";

           }

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

           {

               type_type = "IE11";

           }

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

           {

               type_type = "chrome";

           }

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

           {

               type_type = "Firefox";

           }

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

           {

               type_type = "Opera";

           }

           else if (us.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);

               db.SaveChanges();

               return type.id;

           }

           else

           {

               return ty.id;

           }

       }

       //向os表賦值

       public int getOs(string ua,string os32)

       {

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

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

           string os_os = "";

           string os_os1 = "";

           if (ua.IndexOf("Windows NT 6.1") != -1)

           {

               os_os1 = "window7";

               os_os = "window7_" + os32;

           }

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

           {

               os_os1 = "window8";

               os_os = "window8_" + os32;

           }

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

           {

               os_os1 = "Vista";

               os_os = "Vista_" + os32;

           }

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

           {

               os_os1 = "Windows2000";

               os_os = "Windows2000_" + os32;

           }

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

           {

               os_os1 = "Windows XP";

               os_os = "Windows XP_" + os32;

           }

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

           {

               os_os1 = "Windows XP x64";

               os_os = "Windows XP x64" + os32;

           }

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

           {

               os_os1 = "Windows 8.1";

               os_os = "Windows 8.1_" + os32;

           }

           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系統(tǒng)";

                           break;

                       case "window8": os.comment = "32位window8/Windows Phone/Windows Server 2012系統(tǒng)";

                           break;

                       case "Vista": os.comment = "32位Vista/Windows Server 2008系統(tǒng)";

                           break;

                       case "Windows2000": os.comment = "32位Windows2000系統(tǒng)";

                           break;

                       case "Windows XP": os.comment = "32位Windows XP系統(tǒng)";

                           break;

                       case "Windows XP x64": os.comment = "32位Windows XP x64 Edition/Windows Server 2003/Windows Server 2003 R2系統(tǒng)";

                           break;

                       case "Windows 8.1": os.comment = "32位Windows 8.1/Windows Server 2012 R2系統(tǒng)";

                           break;

                       default:

                           break;

                   }

               }

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

               {

                   switch (os_os1)

                   {

                       case "window7": os.comment = "64位window7/Windows Server 2008R2系統(tǒng)";

                           break;

                       case "window8": os.comment = "64位window8/Windows Phone/Windows Server 2012系統(tǒng)";

                           break;

                       case "Vista": os.comment = "64位Vista/Windows Server 2008系統(tǒng)";

                           break;

                       case "Windows2000": os.comment = "64位Windows2000系統(tǒng)";

                           break;

                       case "Windows XP": os.comment = "64位Windows XP系統(tǒng)";

                           break;

                       case "Windows XP x64": os.comment = "64位Windows XP x64 Edition/Windows Server 2003/Windows Server 2003 R2系統(tǒng)";

                           break;

                       case "Windows 8.1": os.comment = "64位Windows 8.1/Windows Server 2012 R2系統(tǒng)";

                           break;

                       default:

                           break;

                   }

               }

               os.os = os_os;

               db.BrowserOS.Add(os);

               db.SaveChanges();

               return os.id;

           }

           else

           {

               return o.id;

           }

       }

       public bool IsReusable

       {

           get

           {

               return false;

           }

       }

   }

}

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

新聞標(biāo)題:.net獲取客戶端信息(三)ashx部分--面向?qū)ο?創(chuàng)新互聯(lián)
分享URL:http://muchs.cn/article44/dhsghe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、定制網(wǎng)站響應(yīng)式網(wǎng)站、網(wǎng)站改版、網(wǎng)站內(nèi)鏈、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)