2010-04-16 3 views
5

WCF RIA hizmetlerini kullanarak varlıkları bir veritabanından aşağı çeken bir Silverlight 4 uygulamasına sahibim. Bu veri nesneleri oldukça basittir, sadece birkaç alan vardır, ancak bu alanlardan biri rasgele bir boyutta ikili veri içerir. Uygulama, bir kullanıcının giriş yaptıktan sonra, bir listeyi görüntülemek, seçimini etkinleştirmek gibi temel olarak bu verilere en kısa zamanda erişebilmeye ihtiyaç duyar.kısmi varlık yükleme ve yönetim Silverlight/wcf ria

Sorunum, bu verilerin boyutundan dolayı, yükleme süreleri kabul edilemez. DEA hizmetinin varsayılan zaman aşımı.

Nesneleri kısmen yerel veriler bağlamına yüklemek istiyorum, böylece kimlikleri, adları vb. O zaman daha sonraki bir noktada (aslında gerekli olduğunda), göstermem gereken nesnelerin ikili alanlarını doldurabilirim.

Bunu nasıl gerçekleştireceğinize dair herhangi bir öneri memnuniyetle karşılanacaktır.

Bu soruyu yazarken (ki bu ne sıklıkta olur ?!) yazarken oluşmuş başka bir yaklaşım, ikili veriyi orijinal kayıt 1: 1'e eklenen ayrı bir veritabanı tablosuna taşıyabilmemdir. RIA'nın bu ikili veri üzerindeki tembel yüklemesini kullanın.

tekrar .. yorum hoş geldiniz! Teşekkürler.

cevap

5

Veritabanınızı değiştirmeyin. Teslimat yönteminizi değiştirin.

Hızlı öğeler listeniz için ayrı bir WCF RIA Hizmeti oluşturun ve ihtiyacınız olan verilerin bir özetini göndermek için bir POCO (düz eski clr nesnesi) kullanın. Ardından, büyük adam için hazır olduğunuzda, POCO'nuzdaki verilerden tetiklenen bir kerede bir tane indirebilirsiniz. ve Nikhil Kothari bir süredir POCO kullanımı hakkında konuştuk. Daha fazla bilgi için MIX konuşmalarına bakın.

hızlı liste öğeleri için yeni bir hizmet oluşturun:

Kişisel POCO basitçe böyle sunucuda bir nesne olduğunu
public class QuickListService : LinqToEntitiesDomainService<MyEntities> 
{ 
    private IQueryable<QuickList> GetQuickList() 
    { 
     return from t in ObjectContext.Table 
       select new QuickList 
       { 
         ID = t.ID, 
        Title = t.Title 
       }; 
    } 
} 

:

public class QuickList 
{ 
    public string Title; 
    public long ID; 
} 

İyi şanslar!

p.s. Nikhil'nin BookClub uygulaması bunu çok yapıyor. Bunu yaparken gerçek bir uygulama görmeniz gerekiyorsa, uygulamasını indirin: http://www.nikhilk.net/Content/Presentations/MIX10/BookClub.zip