Zeev86 פורסם 2014 במאי 28 Share פורסם 2014 במאי 28 אהלן. אני מאחסן כמה נתונים בשרת בקובץ XML. העניין הוא, שעם דפדפן אני טוען את הקובץ תוך שניה, ועם התכנה זה לוקח כ15 שניות.הקובץ שוקל ממש קצת וזה כולה 6 שורות (כולל התאגים)להלן הקוד: Dim m_xmlrprofileData As XmlTextReader m_xmlrprofileData = New XmlTextReader("http://www.####.co.il/settings.xml") m_xmlrprofileData.WhitespaceHandling = WhitespaceHandling.None m_xmlrprofileData.Read() m_xmlrprofileData.Read() While Not m_xmlrprofileData.EOF m_xmlrprofileData.Read() If Not m_xmlrprofileData.IsStartElement() Then Exit While End If m_xmlrprofileData.Read() OnlineAddr = (m_xmlrprofileData.ReadElementString("online")) MyVersion = (m_xmlrprofileData.ReadElementString("ver")) End While m_xmlrprofileData.Close()אני עושה משהו לא נכון? קיימת דרך אחרת ויותר מהירה? תודה! קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2014 במאי 28 Share פורסם 2014 במאי 28 על פניו נראה תקין, אני לא מכיר את XmlTextReader מספיק כדי לדעת. אתה יכול להוסיף בדיקות תזמונים פשוטות (תשתמש באובייקט Stopwatch ותדפיס את הזמנים שלוקח לעשות את הפעולות). לחילופין אתה יכול להוריד את הקובץ בנפרד באמצעות אובייקט WebClient כדי להוריד את ה-xml בנפרד ואז להזין אותו לxmltextreader כדי לבדוק כמה זמן לוקח כל דבר במדויק. קישור לתוכן שתף באתרים אחרים More sharing options...
Zeev86 פורסם 2014 במאי 29 מחבר Share פורסם 2014 במאי 29 נראה מוזר. בדקתי בשרת ישראלי ובשרת אמריקאי, בשניהם לוקח בדיוק 15 שניות מהרגע שהקוד נכנס ללולאה של קריאת קובץ XML עד ליציאה. כל שאר הקוד לוקח לא יותר משניה.עריכה: עכשיו מבדיקה יותר מעמיקה, הלולאה עצמה לוקחת גם לא יותר משניה, כלומר ה15 שניות האלה נתקעות ב m_xmlrprofileData.WhitespaceHandling = WhitespaceHandling.None m_xmlrprofileData.Read() m_xmlrprofileData.Read() While Not m_xmlrprofileData.EOFלאחר שWHILE מתחיל לפעולה כל הקוד ממשיך ומסתיים לאחר פחות משניה. קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2014 במאי 29 Share פורסם 2014 במאי 29 זה לא אומר כלום, כי יכול להיות שההורדה של הקובץ מתבצעת רק אחרי ה-Read הראשון. בגלל זה הצעתי לך להוריד בנפרד באמצעות WebClient. יכול להיות גם שהוא מנסה לעשות כל מיני בדיקות מול xsd וכאלה. קישור לתוכן שתף באתרים אחרים More sharing options...
Zeev86 פורסם 2014 במאי 31 מחבר Share פורסם 2014 במאי 31 הבנתי. תודה על העצה. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.