none
Visual Studio 2012, MVC4 Site - Hosting Problemi mi? RRS feed

  • Soru

  • Merhaba,

    Artık bıktım bu localde çalışan sitenin ve serverda çalışmamasından... O yüzden böyle bir başlık verdim.

    Yöneticilerden özür dilerim.

    Projemde mysql database server üzerinde ve sitemi localde çalıştırdığımda aşağıdaki işlemleri yapabiliyorum.


    <section id="Login">
         @{Html.RenderAction("Uyelik", "UyeGiris");}
    </section>  kodu ile Giriş Yap | Üye Ol | Şifrem Neydi listesini çekiyorum ve Giriş yap ile Giriş yap penceresini açıyorum.

    E-Posta ve Şifre girişi yaparak       Hoş Geldin(Admin Admin) | Bilgilerim | Çıkış | Yönetim           listesi geliyor ve Bilgilerime bakabiliyorum ve Yönetime girebiliyorum.

    Fakat siteyi hostinge attığımda Giriş yap penceresinden e-posta ve şifre girişini doğru veya yanlış girsemde Hoş Geldin listesinin yerine   bu şekilde giriş penceresi(partialview) geliyor. 

    Giriş listesinin ikisinide aşağıdaki gibi çekiyorum. 

    uyeler uye = (uyeler)Session["uyebilgi"];
                if (uye == null)
                {
                    sb.Append("<img src=\"/Content/images/user.jpg\" style=\"width:40px;height:40px;\" alt=\"" + MyLanguage.Lan("uyelik") + "\" /> ");
                    sb.Append("<a href=\"javascript:void(0);\" name=\"" + Url.Action("UyeGiris", "Uyeler") + "\" class=\"aLogin\" title=\"" + MyLanguage.Lan("giris_yap") + "\">" + MyLanguage.Lan("giris_yap") + "</a> | ");
                    sb.Append("<a href=\"javascript:void(0);\" name=\"" + Url.Action("UyeKural", "Uyeler") + "\" class=\"aRead\" title=\"" + MyLanguage.Lan("uye_ol") + "\">" + MyLanguage.Lan("uye_ol") + "</a> | ");
                    sb.Append("<a href=\"javascript:void(0);\" name=\"" + Url.Action("Neydi", "Sifrem") + "\" class=\"aCreate\" title=\"" + MyLanguage.Lan("sifrem_neydi") + "\">" + MyLanguage.Lan("sifrem_neydi") + "</a> ");
                }
                else
                {
                    sb.Append("<a href=\"#\"><img src=\"" + uye.uyeresim + "\" style=\"width:40px;height:40px;\" alt=\"" + uye.isim + "\" /></a> ");
                    sb.Append(MyLanguage.Lan("hos_geldin") + " (" + uye.isim + " " + uye.soyisim + ") | ");
                    sb.Append("<a href=\"javascript:void(0);\" name=\"" + Url.Action("UyeDuzenle", "Uyeler") + "\" class=\"aEdit\" title=\"" + MyLanguage.Lan("bilgilerim") + "\">" + MyLanguage.Lan("bilgilerim") + "</a> | ");
                    sb.Append("<a href=\"javascript:void(0);\" name=\"" + Url.Action("Cikis", "Uyeler") + "\" class=\"aExit\" title=\"" + MyLanguage.Lan("cikis") + "\">" + MyLanguage.Lan("cikis") + "</a>");
                    if (uye.uyeyetki == 1 || uye.uyeyetki == 2 || uye.uyeyetki == 3 || uye.uyeyetki == 4)
                    {
                        sb.Append(" | <a target=\"_blank\" title=\"" + MyLanguage.Lan("yonetim") + "\" href=\"/" + lang + "/RotaryAdminPanel/AnaSayfa/Index\">" + MyLanguage.Lan("yonetim") + "</a>");
                    }
                }
                sb.Append(" <span id=\"ajaxLogin\"></span>");
                return Content(sb.ToString());

    Bende mi hata var. Web.config de herhangi bir ayar mı var, veritabanında mı bir problem var yoksa hostingde ayar mı yapmak gerekli....

    Ne yapmam gerekiyor. Yardımlarınızı bekliyorum. 

    İyi geceler.



    7 Mart 2013 Perşembe 20:19

Tüm Yanıtlar

  • Bu üye sessiondamı kontrolünü nerde yapıyorsunuz? OnActionExecuting eventinde yaptıysanız sorun olmaması lazım

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC

    8 Mart 2013 Cuma 08:46
    Moderatör
  • Merhaba Önay Bey, 

    Aşağıdaki kodlara göre nasıl bir filtre(OnActionExecuting) yazabilirim. 

    Giriş Kodlarım bunlar,

    Niye bu hatayı alıyorum.

    global.asax

    protected void Session_Start()
            {
                LoginConfig.RegisterLogin();
            }

        public class LoginConfig
        {
            public static void RegisterLogin()
            {
                try
                {
                    if (HttpContext.Current.Session["uyebilgi"] == null && HttpContext.Current.Request.Cookies["xxxxx"].Values["esifre"] != null)
                    {
                        string esifre = HttpContext.Current.Request.Cookies["xxxxxx"].Values["esifre"];
                        int ekulid = Convert.ToInt32(HttpContext.Current.Request.Cookies["xxxxxxx"].Values["ekulid"]);
                        dbEntities db = new dbEntities();
                        uyeler uye = (from c in db.uyeler where c.id == ekulid && c.sifre == esifre && c.onay == true select c).FirstOrDefault();
                        if (uye != null)
                        {
                               uye.giristarih = DateTime.Now;
                               HttpContext.Current.Session["uyebilgi"] = uye;
                                
                               db.SaveChanges();
                        }
                        db.Dispose();
                        db = null;
                    }
                }
                catch { }
            }
        }

    UyelerController / UyeGiris //Uye Giriş formundan gönderilen veriler burada kontrol ediliyor.

    [HttpPost] public ActionResult UyeGiris(uyeler uyeler) { try { string sifre = FormsAuthentication.HashPasswordForStoringInConfigFile(uyeler.sifre, "md5").ToLower().ToString(); uyeler uye = (from c in db.uyeler where c.eposta == uyeler.eposta && c.sifre == sifre && c.onay == true select c).FirstOrDefault(); if (uye == null) { ModelState.AddModelError("uyari", MyLanguage.Lan("eposta_sifre_gecersiz")); Response.StatusCode = 400; return PartialView(uyeler); } else { uye.giristarih = DateTime.Now; Session["uyebilgi"] = uye; if (uyeler.hatirla == true) { HttpCookie cerez = new HttpCookie("xxxxxxx"); cerez.Values.Add("ekulid", uye.id.ToString()); cerez.Values.Add("esifre", uye.sifre); cerez.Expires = DateTime.Now.AddDays(365); Response.Cookies.Add(cerez); } db.SaveChanges(); return RedirectToAction("Uyelik", "UyeGiris"); } } catch (Exception ex) { return Content(Error.Hata(ex)); } }






    8 Mart 2013 Cuma 16:18