J'ai un service WCF qui lit les données de xml. Les données au format XML sont modifiées toutes les 1 minute. Ce fichier XML est très grand, il a environ 16k enregistrements. L'analyse prend environ 7 sec. donc c'est définitivement trop long.problème avec des données énormes
Maintenant, il fonctionne de cette façon:
- appel ASP.NET WCF
- WCF Parse xml
- ASP.NET attend le rappel WCF
- WCF génère des données à ASP.NET
Bien sûr, il y a une mise en cache pendant 1 minute, mais après que WCF doit charger à nouveau les données.
Y at-il une possibilité de faire quelque chose qui actualisera les données sans arrêter le site? Quelque chose comme ... Je ne sais pas, double tampon? cela va récupérer les anciennes données s'il n'y en a pas de nouvelles? Peut-être que vous connaissez une meilleure solution?
meilleures salutations
EDIT: la déclaration qui est la plus longue:
XDocument = XDocument.Load(XmlReader.Create(uri)); //takes 7 sec.
Parse prend 70 ms, son Okey, mais ce n'est pas le problème. Y at-il une meilleure solution pour ne pas bloquer le site? :)
EDIT2: Ok J'ai trouvé une meilleure solution. Simplement, je télécharge le xml au hdd et je lis les données de celui-ci. Ensuite, l'autre processus commence à télécharger une nouvelle version de xml et remplace l'ancien. Merci pour l'engagement.
mais ce n'est pas un problème. Je n'utilise même pas de base de données ici. Le problème est que xml est analysé environ 7 secondes et tout s'arrête – reizals
en analysant je veux dire créer des objets par des données XML et les mettre dans la liste –
reizals
@reizals: jetez un oeil à ma réponse maintenant – HABJAN