2015-10-09 17 views
6

In EPiServer 7, mi sono imbattuto in 2 interfacce diverse per ottenere una sospensione del repository EPiServer - IContentRepository e IContentLoader.IContentRepository vs IContentLoader in EPiServer

Esempio:

var repo = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<IContentRepository>(); 

e:

var repo = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<IContentLoader>(); 

qualcuno potrebbe spiegare a me quando usare uno di fronte all'altro? Grazie in anticipo.

risposta

10

Quando utilizzare l'uno di fronte all'altro dipende dall'azione che si desidera eseguire.

Prima di tutto, si lascia andare attraverso le loro definizioni (indicato sulla world.episerver.com)

IContentRepository

"IContentRepository è l'API principale che definisce i metodi di repository per gli oggetti iContent [.. .] Attraverso il repository, è possibile eseguire operazioni CRUD (Crea, Leggi, Aggiorna, Elimina) e altre operazioni su istanze di contenuto quali elenco e spostamento (ovvero istanze che implementano EPiServer.Core.IContent). " IContentLoader

"Descrive un servizio che può essere usato per leggere gli oggetti di dati di contenuto da un repository."

Come indica la definizione, IContentLoader viene utilizzato per leggere il contenuto, ad es. non supporta tutte le prestazioni CRUD. Aneddoto: IContentRepository implementa l'interfaccia IContentLoader.

risposta Shorter:

Usa IContentRepository quando si ha intenzione di modificare contenuti/dati nel repository.

Usa IContentLoader quando si pensa solo a lettura contenuti/dati nel repository.

Spero che questo lo chiarisca per voi!

+0

Thx @ChrisRun. Questo sicuramente lo chiarisce :) – ElC

Problemi correlati