public ActionResult Index() { #region variables string request = null; string redirectUrl = null; bool test = false; #endregion #region try try { #region variables setup request = ServiceLayer.Utilities.RequestString(Request); var queryString = Request.QueryString; string Host = Request.Url.Host; string RawUrl = Request.RawUrl; ViewBag.Host = Host; ViewBag.RawUrl = RawUrl; string _host = Host; if (RawUrl != "/") { _host += RawUrl; } string fullBaseReturnUrl = @"http://" + Host + BaseReturnUrl + @"/"; #endregion #region ALWAYS ON if ((!string.IsNullOrEmpty(Request.UserAgent)) && (Request.UserAgent.ToLower().Contains("alwayson"))) { redirectUrl = "Always On: " + Request.UserAgent; return(View()); } #endregion #region GOOGLE BOT if (Request.UserHostAddress.StartsWith("66.")) { redirectUrl = "Google BOT: " + Request.UserHostAddress; return(View()); } #endregion #region check AJAX call if (Request.Headers["X-Requested-With"] != null && Request.Headers["X-Requested-With"] == "XMLHttpRequest") { throw new Exception("Ajax call"); } #endregion #region ServiceElement ServiceElement element = Utilities.GetServiceByDomain(service, Host, RawUrl); #endregion ////////////////////////////// FORCE TEST ////////////////////////////// if ((queryString != null) && (queryString["sid"] != null)) { element = service.get(int.Parse(queryString["sid"].ToString())); test = true; } ////////////////////////////// FORCE TEST ////////////////////////////// ////////////////////////////// FORCE ////////////////////////////// //if (!test) // return Redirect(element.DigitalGOCatalogue); ////////////////////////////// FORCE ////////////////////////////// #region murp string tid = DateTime.Now.Ticks.ToString(); string id = element.ServiceID + "_index_" + tid; return(Redirect(redirectUrl = endUser.GetMobileRecognitonUrl(element.ServiceID.ToString(), fullBaseReturnUrl + id))); #endregion } #endregion #region catch catch (Exception ex) { string error = "Error in function " + this.GetType().Name + "." + MethodBase.GetCurrentMethod().Name + " - " + ex.Message; trace.traceError(error); ViewBag.message = error; return(View("Error")); } #endregion #region finally finally { //DateTime _responseTime = DateTime.Now; //LogEntry _logEntry = new LogEntry //{ // LogName = _LogName, // internal_id = _internal_id, // requestTime = _requestTime, // responseTime = _responseTime, // request = _request, // response = _response, // internal_parameters = JsonConvert.SerializeObject(_internal_parameters) //}; //await log.trackAsync(_logEntry); JObject _jobject = new JObject(); _jobject.Add(new JProperty("header", "Index")); _jobject.Add(new JProperty("request", request)); _jobject.Add(new JProperty("redirectUrl", redirectUrl)); string message = _jobject.ToString(Formatting.None); trace.trace(message); } #endregion }