6

Şirket Web Uygulamamı çevrimdışı olarak kullanmakla görevlendirildim. Gerçek gelişim aşamasına geçmeden önce, mevcut stratejimin bir büst olmaya dönüşmeyeceğinden emin olmak istiyorum.Make ASP.Net (C#) Web Uygulaması Uygun Çevrimdışı

Önce html5 uygulama önbelleğini kullanmayı düşündüm ancak bazı testler yaptıktan sonra sunucu tarafı işlemlerini değil, işlenen gerçek html'yi (yanlışsa lütfen düzeltin) önbelleğe aldığımı fark ettim. Bu, işlenen html'nin şu anda oturum açmış olduğuna bağlı olduğu için işe yaramaz. Testlerimden, html'yi oturum açan son kişi (çevrimiçi) giriş yapıyormuş gibi her zaman işlenir.

Şu anki stratejim şudur: Sadece giriş sayfasını ve çevrimdışı olarak bulunması gereken her bir aspx sayfasına karşılık gelen bir çevrimdışı (.html) sayfayı önbelleğe alıyorum. Her başarılı giriş (çevrimiçi), o kişinin giriş kimlik bilgileri için kullanılacak bir tablo dahil olmak üzere çevrimdışı çalışması için gereken tüm verilerle Web SQL Veritabanı veya IndexDB (tarayıcıya bağlı olarak) oluşturma veya güncelleme ile sonuçlanır. Bu şekilde, çevrimdışı giriş yapmak için tek şart, giriş kimlik bilgilerinizle en az bir kez giriş yapmaktır.

Endişem, bunun aşırı derecede karmaşık olduğudur. Bu çalışmayı yapabilmek için, her bir sayfa için bir çok sayfanın (bir çok sayfa) bir html sayfası oluşturması gerekecek ve doğrulama, veritabanı çağrıları, doldurma denetimleri de dahil olmak üzere, sunucuda şu anda gerçekleştirilmekte olan her şeyi yeniden yazmam gerekecek. açılır listeler ve veri ızgaraları, vb. gibi. Gelecekte değiştirdiğim her şey, bir sonraki çevrimdışı değişikliği gerektirecektir.

Ben bakan verilirse veya yeni toprağa cesaretini olduğumu yapmaya çalışıyorum ne için oluşturulmuş bir iyi yöntem var mı?

+0

ben uzman buradayım ama farklı kullanıcıların sitesine giriş olması gerekir gibi tüm gelen sesler aynı tarayıcı oturumu ve tüm bağlantısız? Bu, istemcinizde kullanıcı adlarını ve parolaları önbelleğe almanızı gerektiren zor bir senaryo gibi görünüyor. Muhtemelen tehlikeli bir uygulama. – andleer

+0

Cevabınız için teşekkür ederiz. Seni doğru anladığımı düşünüyorsanız, stratejimi yanlış anladığını düşünüyorum. Plan, daha önce çevrimiçi modda giriş yapmış olanların daha sonra çevrimdışı modda çalışmasına izin vermektir. Geliştirdiğim uygulama için normal durum, bir mobil cihazdaki (iphone, droid, tablet, vb.) Bir ustabaşının erişebileceği, yani aynı kişinin aynı cihazı kullanacağıdır. Şifreleri Web SQL veya IndexDB ile depolamanın tehlikeli bir uygulama olduğunu mu söylüyorsunuz? Öyleyse neden? –

+1

İstemcide kullanıcı adı ve şifresini kesinlikle saklamak aynı zamanda iyi bir uygulama olmayabilir, James'in gözükmesi gereken gerçek bir sorun gibi görünüyor. İdeal olarak, son kullanıcılar çevrimdışı sisteme erişmek istediklerinde, çevrimiçi olarak doğrulanmalı ve çalışmasına çevrimdışı devam etmeli ve çevrimiçi olarak senkronize edilmelidir. Silverlight gibi bir şey kullanmayı düşünürdüm ama gümüş ışığı kullanan müşteriler açısından bir sorun var gibi gözüküyor, bu yüzden İzole depolama tek seçenek. –

cevap

3

size sağlanabilir girişimle ilgili bazı bilgiler veren bu bağlantıların bakınız. Bunların en iyi uygulamalar olduğuna emin değilim, ama bunlar iyi bir başlangıç ​​noktası olacak.

http://www.c-sharpcorner.com/UploadFile/aravindbenator/offline-mvc3-application/ http://www.developerfusion.com/article/84438/isolated-storage/

+0

Bu cevap için teşekkür ederim Siva. Yalıtılmış depolama alanına bakmayı ve bunun iyi bir araç olacağını düşündüğüm için sabırsızlanıyorum. C-Sharpcorner'a işaret ettiğiniz model, orijinal sorumu içinde özetlediğim stratejiyi uygulamak için iyi bir model gibi görünüyor. Her çevrimiçi aspx dosyasına karşılık gelen bir çevrimdışı html dosyasını önbelleğe almak en iyi çözüm yoludur. –

İlgili konular