Onze applicatie bestaat uit de volgende onderdelen:
CrmService, service om bedrijfs/persoonsgegevens op te vragen uit het CRM systeem
FinanceService, service om contracten/contractitems op te vragen uit de Contractenbase
FinanceWebClient, webclient om contracten/contractitems te beheren
Een van de webmethods van de CrmService is het ophalen van de complete lijst van bedrijven. Dit wordt gedaan als er een nieuw contract aangemaakt word. Deze complete lijst van bedrijven (naam + ID) wordt getoond in een WebCombo (component van Intersoft, intelligente dropdownlist met filter opties).
Nu zitten er in het Crm systeem bij benadering 7000 bedrijven. De CrmService geeft deze netjes als een collectie van entiteiten (CompanyCollection) terug. Aangezien het een flinke lijst van bedrijven is (en deze alsmaar groter zal worden), duurt het ophalen ervan even en dit zou je willen cachen.
Je wilt de CrmService bedrijven laten cachen, omdat deze anders voor ieder request naar de lijst van bedrijven weer een database connectie maakt en de heleboel in entiteiten zet. Daarnaast wil je de WebClient ook laten cachen (application cache ofzo), omdat deze op een aantal plaatsen de volledige lijst van bedrijven gebruikt en het zonde is om zoveel dataverkeer tussen de CrmService en de WebClient te hebben.
Ik heb iets gelezen of Notification Server van Microsoft, maar echt een mooie oplossing kunnen we niet vinden. De WebService kan niet een event doorgeven aan de WebClient dat de bedrijven geupdate zijn.
Ik ga er vanuit dat dit een veel voorkomend probleem is, weet een van jullie een gangbare oplossing?
CrmService, service om bedrijfs/persoonsgegevens op te vragen uit het CRM systeem
FinanceService, service om contracten/contractitems op te vragen uit de Contractenbase
FinanceWebClient, webclient om contracten/contractitems te beheren
Een van de webmethods van de CrmService is het ophalen van de complete lijst van bedrijven. Dit wordt gedaan als er een nieuw contract aangemaakt word. Deze complete lijst van bedrijven (naam + ID) wordt getoond in een WebCombo (component van Intersoft, intelligente dropdownlist met filter opties).
Nu zitten er in het Crm systeem bij benadering 7000 bedrijven. De CrmService geeft deze netjes als een collectie van entiteiten (CompanyCollection) terug. Aangezien het een flinke lijst van bedrijven is (en deze alsmaar groter zal worden), duurt het ophalen ervan even en dit zou je willen cachen.
Je wilt de CrmService bedrijven laten cachen, omdat deze anders voor ieder request naar de lijst van bedrijven weer een database connectie maakt en de heleboel in entiteiten zet. Daarnaast wil je de WebClient ook laten cachen (application cache ofzo), omdat deze op een aantal plaatsen de volledige lijst van bedrijven gebruikt en het zonde is om zoveel dataverkeer tussen de CrmService en de WebClient te hebben.
Ik heb iets gelezen of Notification Server van Microsoft, maar echt een mooie oplossing kunnen we niet vinden. De WebService kan niet een event doorgeven aan de WebClient dat de bedrijven geupdate zijn.
Ik ga er vanuit dat dit een veel voorkomend probleem is, weet een van jullie een gangbare oplossing?
Any sufficiently advanced technology is equivalent to magic.