Domanda

Stiamo usando entità auto-tracking su un servizio WCF. Le entità vengono restituite al cliente senza le loro proprietà di navigazione caricate.

È un'idea migliore inviare contemporaneamente tutte le proprietà di navigazione o caricarle pigre secondo necessità? Se è stato caricato pigro, è una buona idea caricarli in modo asincrono? Tutte le chiamate di servizio WCF che ho finora usano le parole chiave AWIT/ASYNC.

Ho qualche preoccupazione per caricarli tutti in una volta perché alcuni oggetti hanno molte proprietà di navigazione che non sono sempre utilizzate. Ad esempio, l'entità del consumatore ha attualmente circa 20 e dovrebbe ottenere di più. Alcuni esempi includono indirizzi, telefoni, documenti e note. Gli utenti possono impostare la propria area di lavoro in modo che qualcuno che lavora con i documenti potrebbe sempre aver bisogno della proprietà dei documenti quando un consumatore si carica, mentre la maggior parte degli altri no.

È stato utile?

Soluzione

Dipende davvero dal modo in cui usi le entità. Il più costoso sarà un viaggio di andata e ritorno al servizio, quindi se si dispone di proprietà di navigazione che vengono utilizzate nella maggior parte degli scenari puoi caricarli desiderosi ma per le proprietà di navigazione utilizzate solo occasionalmente puoi usare il "caricamento pigro". La vera risposta alla tua domanda può essere fornita solo da alcune analisi significative della tua applicazione e test delle prestazioni.

Quello che ho paura di un po 'è il modo in cui puoi aggiornare tale modello. Dopo aver caricato tutte le entità correlate e fare un grafico di oggetti da esse, puoi inviare solo una parte del grafico al servizio? Mi aspetto che tu non possa.

Modificare:

Ho letto la tua altra domanda con "Dynamic Ui". Quindi, una volta che l'utente ha avviato l'applicazione probabilmente sai quali widget dell'interfaccia utente dovrebbero essere visualizzati. È possibile esporre alcuni metodi iniziali che passerà la descrizione di tutte le proprietà di navigazione richieste da widget attualmente aperti e caricare altre proprietà quando viene aperto un nuovo widget. La semplice aggiunta di widget richiederà del tempo per ottenere i dati. Ancora alcuni dati di navigazione più piccoli possono essere inclusi automaticamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top