J'ai mon application MVC câblé de telle sorte que la couche dépôt des requêtes LINQ aux classes SQL, la couche de service interroge la couche du référentiel, et les contrôleurs appellent la couche de service.ASP.NET MVC - Est-il un moyen facile d'ajouter des données à mon Caching couche de service?
Fondamentalement, j'ai le code comme suit
dépôt
Public Function GetRegions() As IQueryable(Of Region) Implements IRegionRepository.GetRegions
Dim region = (From r In dc.Regions
Select r)
Return region.AsQueryable
End Function
service
Public Function GetRegionById(ByVal id As Integer) As Region Implements IRegionService.GetRegionById
Return _RegionRepository.GetRegions() _
.Where(Function(r) (r.ID = id _
And r.isActive)) _
.FirstOrDefault()
End Function
Public Function GetRegionByNameAndParentID(ByVal region As String, ByVal parentid As Integer) As Region Implements IRegionService.GetRegionByNameAndParentID
Return _RegionRepository.GetRegions() _
.Where(Function(r) (r.Region = region _
And r.ParentID = parentid _
And r.isActive)) _
.FirstOrDefault()
End Function
Public Function GetActiveRegions() As List(Of Region) Implements IRegionService.GetActiveRegions
Return _RegionRepository.GetRegions() _
.Where(Function(r) r.isActive) _
.ToList
End Function
Public Function GetAllRegions() As List(Of Region) Implements IRegionService.GetAllRegions
Return _RegionRepository.GetRegions().ToList
End Function
Je me demande s'il y a un bon moyen/efficace d'ajouter Caching la Couche de service pour ne pas toujours avoir besoin d'appeler le REPO si les appels sont moi.
PS: J'ai trouvé cette question, mais il ne répond pas vraiment à ma question: http://stackoverflow.com/questions/102913/ cache-data-objects-quand-utilise-repository-service-pattern-and-mvc –