2017-09-13 1 views
-1

コードが適切に機能しているが、リダイレクトチェッカーでページURLをチェックしているときに、アプリケーションのパフォーマンスに影響する可能性のあるリダイレクトが多すぎます。 アプリケーションのパフォーマンスに影響するresponse.redirectを使用せずにクエリ文字列を更新する方法

IF(場合、Request.QueryString [NULL] = NULL!) {ストリングLastIndexOFUrl = Request.RawUrl.Substring(Request.RawUrl.LastIndexOf( '/')+ 1)。

 if (lang == "eng") 
     { 
      //Session["ServiceName"] = Request.QueryString[null].ToString(); 

      // 
      dt2 = FEManager.GetOurServiceByID(CommonFunction.GetLangType(), LastIndexOFUrl); 

      if (dt2.Rows.Count > 0) 
      {     
       string Name_En = dt2.Rows[0]["URLEng"].ToString(); 
       Name_En = Regex.Replace(Name_En, "[^0-9A-Za-z -]", "").ToLower().Replace(' ', '-'); 

       if (Convert.ToString(Session["ServiceName"]) != Name_En) 
       { 
        Session["ServiceName"] = Name_En; 
        Response.Redirect(CommonFunction.GetLangWiseRedirectLink(1428, 1429) + "/" + Name_En); 
       } 
       else 
        Session["ServiceName"] = Name_En; 
      } 
      //   
     } 
     else 
     { 
      Session["ServiceName"] = Request.RawUrl.Substring(Request.RawUrl.LastIndexOf('/') + 1); 

      //temp code: 
      dt1 = FEManager.GetOurServiceByID(CommonFunction.GetLangType(), Session["ServiceName"].ToString()); 
      if (dt1.Rows.Count > 0) 
      { 

       if (Session["ServiceName"].ToString() != dt1.Rows[0]["URLAr"].ToString()) 
       { 
        Response.Redirect(CommonFunction.GetLangWiseRedirectLink(1428, 1429) + "/" + dt1.Rows[0]["URLAr"].ToString()); 
       } 
       Session["ServiceName"] = dt1.Rows[0]["URLAr"].ToString(); 
      } 
     } 
     string sessionData1 = Session["ServiceName"].ToString(); 
    } 
    else 
    { 
     if (Session["ServiceName"] == null) 
     { 
      Response.Redirect(CommonFunction.GetLangWiseRedirectLink(1342, 1343)); 
     } 
     else 
     { 
          Response.Redirect(CommonFunction.GetLangWiseRedirectLink(1428, 1429) + "/" + Session["ServiceName"].ToString()); 
     } 
    } 

    dt = FEManager.GetOurServiceByID(CommonFunction.GetLangType(), Session["ServiceName"].ToString()); 

    if (dt.Rows.Count > 0) 
    { 
     ltContent.Text = dt.Rows[0]["longDesc"].ToString(); 
     ltHeader.Text = dt.Rows[0]["name"].ToString(); 
     hdnID.Value = dt.Rows[0]["ID"].ToString(); 
     ((DotNetNuke.Framework.CDefault)this.Page).Title = dt.Rows[0]["pageTitle"].ToString(); 
    } 
+0

「アプリのパフォーマンスに影響する可能性のあるリダイレクトが多すぎます。」そのエラーのスクリーンショットを含めてください(たとえば、ブラウザがそのことを言っているかどうかを確認できます)。元のURLは何ですか?リダイレクト先のURLは何ですか? – mjwills

+0

Chrome Dev Toolsでは、[ネットワーク]タブに移動できる場合は[ログを保存]にチェックを入れ、問題を引き起こします(リダイレクトURLのスクリーンショットも表示されます)。 – mjwills

答えて

0

あなたは「あまりにも多くのリダイレクト」を取得する場合は、同じページにリダイレクトすることによって、リダイレクトの無限ループを作成しているので、それはほとんど常にです。

デバッガでコードをステップ実行し、慎重にリダイレクトURLを確認します。

関連する問題