2011-02-04 29 views
8

Sayfamdaki asp.net web uygulamasında, geçerli sayfa URL'sini alıyorum ve kullanıcının hangi sayfada bulunduğunu takip etmek için oturum değişkeninde saklıyorlar. Bir yönetici alanı, etrafta gezinme, vb. yapabilirler. Daha sonra dönüş düğmesine tıklayabilir ve yöneticiye girmeden önce bulundukları sayfaya yönlendirilirler.Chrome ve FF tarafından yapılan oturum değişkeni

Bu, IE8'deki tüm işler; Ancak, yönetici bağlantıda FF ve Chrome'da web bağlantısı için sahip olduğum özel 404 sayfasına dönüş bağlantısı yönlendiriliyor.

Response.Write((string)Session["navurl"]);// displays "http://somedomain.com/customerror/default.aspx" 
Session["navurl"] = currentUrl;//ex. currentUrl = "http://somedomain.com/contact/" 
Response.Write((string)Session["navurl"]);//ex. currentUrl = "http://somedomain.com/contact/" 

Yine bu IE sorunsuz çalışır, ancak sayfada FF ve Chrome'da oturum değişken görüntüler yük: Test amaçlı

benim sayfa yükleme olayla aşağıda yazdığı kod eklendi 404 sayfa bağlantısı ve ayarlandıktan sonra doğru bağlantıyı gösterir. Ne olduğunu görmek için kemancı kullandım ve Chrome, bu web uygulamasında kullanmadığım favicon.ico dosyası için GET başlığına 404 atar.

site.master dosyasının başındaki faviocon dosyasını ve bağlantıyı ekledim; Chrome ve FF artık iyi çalışıyor; Bunun neden böyle olduğundan emin değilim. Oturum değişkenimin Chrome veya FF tarafından neden veya nasıl yazıldığını bir fikri olan var mı?

Bir yan not olarak, işlem hata ayıklama işlemini başlattım ve currentUrl doğru URL'ydi.

+0

oturumda depolamadan önce kullanıcı navigationable sayfaya reffers olmadığını görmek için URL'yi kontrol öneririz FF ve kromda 404 ... Sanırım tanımlamadığınız başka bir sorun var. Eski bir önbellek sorunu mu? İkisi de ağır bir şekilde önbellekte. – jcolebrand

+0

Form kimlik doğrulaması veya başka NTLM kullanma şansınız var mı? F/Chrome ve IE değil durumlarda bu arada bazı komik şeyler fark ettim – DarylChymko

cevap

0

Yöneticinize eriştiğinizde, oturumunuzu koruyor musunuz? Fiddler'ı kullanarak sayfanız için başka bir istek gördünüz mü? Resim etiketlerini src = "" veya iframe ile bulun.

Oturum varyasyonunu her bir ön uç sayfasında ayarlamanız gerekir, ancak asla yönetici sayfalarına asla ayarlamamanız, yalnızca "Geri" bağlantısını oluşturmanız gerekir. Global.asax olaylarını kullanıyorsanız, yönetici sayfalarını sunarken var olan değişikliği önlemek için dikkatli olun.

1

Peki, o zaman tarayıcı favicon.ico için istekte bulunur zaman (bu ne anlama google) mantıklı (yani. Tüm dosya uzantılarını) tüm sayfaları hizmet etmek .NET işleyicisi kullanıyorsanız , sunucu bunu bulmak için başarısız olur ve 404'e yönlendirir. Bu, sırasıyla "son sayfa" olarak Session değişkenini değiştirir: 404.

Artık yönetici sayfanızı oluşturduğunuzda ve "Oturumunu sorguladığınızda" son sayfa "ne alırsın? "404".

ben ama neden sonra durduran gelince, bu site simgesi sekmesine göstermek istiyor

if (IsAUserPage(currentUrl) 
    Session["navurl"] = currentUrl; 
İlgili konular