// GET: api/cache/5 public string Get(int id) { HttpContext oc = HttpContext.Current; if (id == 33197000) { IDictionaryEnumerator en = oc.Cache.GetEnumerator(); //string strResult; while (en.MoveNext()) { cacheManager.RemoveFromCache(en.Key.ToString()); } return("Cache removed"); } else if (id == 791975) { var x = SettingsCache.GetProvider(1003); int y = SettingsCache.getGeoX(1005, "US", 1003); int c = SettingsCache.getRealPageID(5010, 1003); int d = SettingsCache.getPageByGEO(1000, 1005, "US"); pixLandingPages f = SettingsCache.GetPage(5502); return("Cache populated "); } else { log.Fatal("Someone is trying to delete application cache with no proper key"); } return("mmmmm"); }
//[FromUri] NameValueCollection formData public HttpResponseMessage Get() { // initialize parameters string sParam1, sParam2, sParam3, fullurl, sRedirectURL, ERROR_PAGE_URL, ip_address, countryCode; sParam1 = sParam2 = sParam3 = fullurl = ip_address = countryCode = string.Empty; ERROR_PAGE_URL = SettingsCache.ERROR_PAGE_URL; string platform; Boolean isFatal = false; HttpResponseMessage response; Int32[] intProviderPageId; Int32 intProviderId, intPageId; //get url from request fullurl = Request.RequestUri.AbsoluteUri; pixProviders tmpProvider; pixLandingPages tmpPage; //get providerid & pageid as array of int from url intProviderPageId = Pixel.Web.Models.pixHelpers.getProviderPageID(Request); platform = Pixel.Web.Models.pixHelpers.RunningPlatform(); if (intProviderPageId != null) { intProviderId = intProviderPageId[0]; intPageId = intProviderPageId[1]; tmpProvider = SettingsCache.GetProvider(intProviderId); if (tmpProvider != null) { //look in query string for the query string params names according to what was configured in database sParam1 = Pixel.Web.Models.pixHelpers.GetQueryString(Request, tmpProvider.param1); sParam2 = Pixel.Web.Models.pixHelpers.GetQueryString(Request, tmpProvider.param2); sParam3 = Pixel.Web.Models.pixHelpers.GetQueryString(Request, tmpProvider.param3); } else { log.Fatal("Could not find provider id: " + intProviderId.ToString() + " in: " + fullurl); isFatal = true; } ip_address = Pixel.Web.Models.pixHelpers.GetIPAddress(); countryCode = Pixel.Web.Models.pixHelpers.GetLocationFromIPDB(ip_address); intPageId = SettingsCache.getRealPageID(intPageId, intProviderId); //see if we have a different page ID for that GEO intPageId = SettingsCache.getPageByGEO(intProviderId, intPageId, countryCode); tmpPage = SettingsCache.GetPage(intPageId); // //get page URL if (tmpPage != null) { /*if ((platform.ToUpper()=="MAC") && (tmpPage.pcmac.ToUpper() =="PC")){ * sRedirectURL = SettingsCache.GetPage(1005).url; * } * else{ * sRedirectURL = tmpPage.url; * }*/ sRedirectURL = tmpPage.url; } else { sRedirectURL = ERROR_PAGE_URL; log.Fatal("Could not find page id: " + intPageId.ToString() + " in " + fullurl); isFatal = true; } // log to database only good URL's if (!isFatal) { //get new guid to send landing page Guid sGuid = Guid.NewGuid(); string stringGuid = sGuid.ToString().Replace("-", ""); sRedirectURL = sRedirectURL.Replace("[UID]", stringGuid); //build a request object with all data var myRequest = new pixRequests(); myRequest.full_url = fullurl; myRequest.reqGuid = sGuid; myRequest.param1 = sParam1; myRequest.param2 = sParam2; myRequest.param3 = sParam3; myRequest.providerid = intProviderId; myRequest.pageid = intPageId; myRequest.user_ip = ip_address; myRequest.redirect_to = sRedirectURL; myRequest.platform = platform; myRequest.countryCode = countryCode; try { //insert request to database var db = new PetaPoco.Database("myConnectionString"); db.Insert(myRequest); db.CloseSharedConnection(); } catch (Exception e) { string tmp = " INSERT INTO [dbo].[Requests] ([reqGuid],[full_url],[param1],[user_ip],[redirect_to],[providerid],[pageid],[platform],[countryCode]) VALUES ("; tmp += " cast ('" + myRequest.reqGuid + "' as uniqueidentifier),'" + myRequest.full_url + "','" + myRequest.param1 + "'"; tmp += ",'" + myRequest.user_ip + "','" + myRequest.redirect_to + "'," + myRequest.providerid.ToString() + "," + myRequest.pageid.ToString(); tmp += ",'" + myRequest.platform + "','" + myRequest.countryCode + "')"; log.Fatal("failed with insert to database: " + fullurl + " /n" + tmp + " /n " + e.Message, e); sRedirectURL = ERROR_PAGE_URL; //throw e; } } // if (isFatal == false) } //if (intProviderPageId != null) else { ip_address = Pixel.Web.Models.pixHelpers.GetIPAddress(); log.Fatal("No Providerid or Pageid in Query string: " + fullurl + " , redirecting to error page. IP = " + ip_address); sRedirectURL = ERROR_PAGE_URL; } // redirect to landing page with guid response = Request.CreateResponse(); switch (SettingsCache.REDIRECT_TYPE) { case 1: response.StatusCode = HttpStatusCode.Moved; break; case 2: response.StatusCode = HttpStatusCode.Redirect; break; case 3: response.StatusCode = HttpStatusCode.RedirectKeepVerb; break; case 4: response.StatusCode = HttpStatusCode.RedirectMethod; break; } response.Headers.Location = new Uri(sRedirectURL); log.Info("Redirecting to landing page: " + sRedirectURL); return(response); }
protected void Button4_Click1(object sender, EventArgs e) { int i = SettingsCache.getPageByGEO(Convert.ToInt16(txtProviderID.Text), Convert.ToInt16(txtPageID.Text), txtCountryCode.Text); lblPageByGEO.Text = "New Page is: " + i.ToString(); }