none
wcf מחזיר כמות גדולה של נתונים RRS feed

  • שאלה

  • אני מעונינת לעשות שרת wcf שיחזיר dataset לטבלאות ממסד נתונים של לפי פונקציות מסוימות.

    הבעיה היא שאני רוצה שהוא יעביר כל dataset שקיים אפילו עם מליון רשומות (בהגזמה)

    זה אפשרי?

    איך ניתן לעשות את זה?

    תודה מראש


    • נערך על-ידי 1234ctk יום שני 18 אפריל 2016 10:28
    יום שני 18 אפריל 2016 10:28

תשובות

  • מצאתי תשובה באתר

    http://geekswithblogs.net/niemguy/archive/2007/12/11/wcf-maxstringcontentlength-maxbuffersize-and-maxreceivedmessagesize.aspx

    למעשה הגדלתי מלכתחילה את המאפיינים שרשום במדריך הזה, אבל לא שמתי לב כשהוספתי את הservice reference לתוכנית שלי שמשתמשת בwcf הוא לא הוסיף את התכונות שהוספתי בwcf לbinding

    ראיתי מישהו שרשם למי שרשם את המדריך הזה שהוא עשה את השינויים האלו ובכל אופן זה לא עובד אז האדם שרשם את המדריך אמר לו להעתיק ידנית ניסיתי גם אני וזה עבד

    תודה רבה לכל מי שעזר לי



    • נערך על-ידי 1234ctk יום רביעי 20 אפריל 2016 13:25
    • סומן כתשובה על-ידי 1234ctk יום רביעי 20 אפריל 2016 13:25
    יום רביעי 20 אפריל 2016 13:24

כל התגובות

  • באופן תיאורטי אין מניעה, אבל צריך לחשוב מה השיטה שהכי מתאימה לכם בצורה נכונה.

    השאלה הראשונה שצריך שאתה צריכה לשאול את עצמך ולכמובן גם לספר לנו, זה מה את עושה עם המידע בצד השני?
    ז"א האפליקתיה שניגשת לשירות ה WCF ומקבלת את המידע, מה היא אמורה לבצע עם כל הרשומות האלו?
    למשל, ברור שאין אפשרות להציג למשתמש כל כך הרבה נתונים על המסך (כדי להכניס מליון שורות גם אם המסך בגודל מטר אז הטקסט יהיה קטן מדי כדי לקרוא). על מנת לקבל פתרון מתאים צריך לאפיין את המערכת בצורה מלאה

    * אחרי שיודעים מה עושים עם המידע צריך גם להבין מה האפיון של הרשת שלך, למשל האם ה WCF יושב במכונה של ה SQL? מהיכן ניגשים לשירות WCF, כמה ניגשים אליו? מה המידע וכמה הוא צריך להיות מעודכן? ועוד הרבה שאלות שחייבים לשאול כדי להבין איזה פתרון מתאים לכם


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]    [Linkedin]


    יום שני 18 אפריל 2016 19:52
    מנחה דיון
  • בעיקרון אני צריכה לבצע פעולות של הוספת רשומות,עדכון רשומות, קריאת רשומות ומחיקת רשומות- ובקריאת הרשומות יש צורך בשימוש בדוחות כך שמספר הרשומות הוא לא מוגבל (יכול להגיע ל1000+ רשומות)

    הwcf מאורח באופן עצמאי- בתוך windows service השרת נמצא בשימוש של 10-20 מחשבים והמידע צריך להיות כמה שיותר מעודכן.

    מה בעיקרון גורם לזה שהwcf לא מחזיר dataset בהיקף של 300+ רשומות?-בזמן שבמעקב אחרי הwcf הdataset אמור להיות מוחזר אבל אחרי הreturn אין תגובה מהשרת.

    בנוסף גם כשאני שולחת את המידע בצורת xml -(למעשה בצורת מחרוזת) הוא לא מצליח לשלוח, והאורך של המחרוזת הוא בסביבות 15000 תוים

    מה אפשר לעשות (כנראה בקונפיגורציה של השרת) כדי שזה ישלח את מה שאני רוצה?

    תודה

    • נערך על-ידי 1234ctk יום שלישי 19 אפריל 2016 05:37
    יום שלישי 19 אפריל 2016 05:33
  • שלום

    נראה לי שאת פשוט לא מתחילה מההתחלה

    תתחילי במכלל לנסות להקים WCF פשוט שמקבל STRING של שם ושמחזיר HELLO עם השם 

    לאחר מכן תלמדי להחזיר סטרינג באורך של מאות אלפי תווים כדי שתלמדי בכלל איך מקנפגים WCF לכמויות מידע גדולות, כי הוא מגיע מקונפג לכמות מסויימת 

    לבסוף לDATASET יש בעיה שהמחלקה DATAROW היא בלתי ניתנת לסיריאליזציה, כלומר צריך לעשות קלאס חדש עם ATTRIBUTE של SERIELIZEABLE

    תלמדי כל דבר בפני עצמו ותספרי לנו איפה נתקעת

    יום שלישי 19 אפריל 2016 15:01
  • התעסקתי קצת עם wcf ואני יודעת לעשות את מה שרשמת לי לנסות.

    יצרתי שרת ורציתי שהוא יחזיר dataset -החזרתי את התוכן בתור מחרוזת של Xml (.getXml()) ובתוכנית שלי עשיתי שהוא הופך את הxml לdataset שוב-זה עובד תקין רק בכמות מסוימת של תווים, הבעיה היא שאני לא יודעת בקונפיגורציה מה בדיוק צריך לשנות כדי שיהיה לשרת אפשרות לשלוח ממחרוזת באורך מאות אלפי תווים.

    בעיקרון חוץ מזה סיימתי את השרת שלי (ניסיתי לאחסן אותו על מחשב אחד ולהריץ את התוכנית שמשתמשת בו במחשב שני וזה עובד תקין -ורק שמצטבר הרבה רשומות בטבלאות הוא לא עושה את מה שצריך-וזורק exception שלשרת לא הייתה אפשרות לשלוח את המידע או שצריך להגדיל את המאפיין timeout-ובמעקב אחרי השרת דרך הקוד ראיתי שפשוט הבעיה היא שהוא לא יכול להחזיר את המחרוזת בגלל האורך שלה ואם האורך קצת יותר קצר אז אין שום בעיה)

    יום שלישי 19 אפריל 2016 21:28
  • מצאתי תשובה באתר

    http://geekswithblogs.net/niemguy/archive/2007/12/11/wcf-maxstringcontentlength-maxbuffersize-and-maxreceivedmessagesize.aspx

    למעשה הגדלתי מלכתחילה את המאפיינים שרשום במדריך הזה, אבל לא שמתי לב כשהוספתי את הservice reference לתוכנית שלי שמשתמשת בwcf הוא לא הוסיף את התכונות שהוספתי בwcf לbinding

    ראיתי מישהו שרשם למי שרשם את המדריך הזה שהוא עשה את השינויים האלו ובכל אופן זה לא עובד אז האדם שרשם את המדריך אמר לו להעתיק ידנית ניסיתי גם אני וזה עבד

    תודה רבה לכל מי שעזר לי



    • נערך על-ידי 1234ctk יום רביעי 20 אפריל 2016 13:25
    • סומן כתשובה על-ידי 1234ctk יום רביעי 20 אפריל 2016 13:25
    יום רביעי 20 אפריל 2016 13:24
  • אהלן

    תודה על העדכון :-)
    +5


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]    [Linkedin]

    יום חמישי 21 אפריל 2016 19:50
    מנחה דיון