none
מחפש קוד קיים מנגנון (messaging) כתיבת הודעות \קבלת הודעות עבור פרויקט וובי asp.net RRS feed

  • שאלה

  • הי  לחברי הפורום

    אני רוצה להכניס מנגנון הודעות עבור site  שבניתי 

    דהיינו משתמש במערכת שלי  בעל userid  יוכל לשלוח הודעה לכל אחד אחר במערכת   לראות את ההודעה בדואר יוצא  כאשר המשתמ השני  יראה את ההודעה בתיבת דואר ניכנס

    וכל פעם שהמשתמש יבל עוד הודעות מאותו משתמש ההודעות יצברו  וניתן יהיה לראות אותם  במקום אחד

    אני מפתח בasp.net  גם צד שרת גם צד לקוח  מול wcf  שימוש גם בjquery 

    גם אם מישהו מכיר מודול כזה טוב שאפשר לרכוש בכסף שנוח לחבר אותו כמודול חיצוני חלמערכת קיימת 

    תודה

    יום שני 03 מרץ 2014 11:09

תשובות

  • בוקר טוב,

    אתה מציג עצמך כבונה אתר, ופונה לפורום של עזרה בפיתוח כדי לחפש אפליקציה מוכנה?
    אולי מישהו יצא לו לראות משהו כזה מוכן בקוד פתוח או כמודול לצירוף באפליקציה שלך. אני לא מכיר ואני מניח שאתה יכול לחפש בגוגל לא פחות טוב ממני :-)

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

    בינתיים פשוט נסה בקישור הבא:
    https://www.google.co.il

    חשוב מאוד!!

    דרך אגב, המילה "בנייה" היא פעולה של חיבור חלקים לכדי תוצאה מוכנה. ויקיפדיה משתמש בהגדרה: בנייה היא תהליך יצירתו, הקמתו או הרכבתו של מבנה מכל סוג שהוא. בנייה היא פעולה טכנית!

    בוני אתרים למשל הם "ילדים" שעוסקים באיסוף קודים מוכנים להקמת אתר שלה, או שעושים שימוש באפליקציות שאחרים פיתחו, ואשר ביכולתן של האפליקציות להקים את האתר עבור המשתמש (למשל שימוש במנגנוני wysiwyg).

    אתר אינטרנט הוא אפליקציה לכל דבר שנעזר בדפדפן כ GUI שלה. אפליקציות WEB אנחנו מפתחים ולא בונים כמובן.

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

     פורומי MSDN נועדו דרך אגב למפתחים :-)
    זה לא אומר שמפתחים לא משתמשים במודולים ועזרים מוכנים ובהחלט ניתן לפנות לעזרת החברים במציאת או בפידבק על קוד/מודול מוכן כזה או אחר. כל מה שחשוב היה להדגיש שאנחנו כאן בשביל מפתחי אתרים ולא בוני אתרים לדעתי ויש להבין את ההבדל במושגים.

    ** אני ממליץ לכל מי שעוסק בתחום להישתמש תמיד במושג מפתח ולא בונה!


    [Personal Site] [Blog] [Facebook]signature

    • סומן כתשובה על-ידי Eran Sharvit יום שלישי 04 מרץ 2014 09:58
    יום שלישי 04 מרץ 2014 08:53
    מנחה דיון

כל התגובות

  • בקרוב מומחי הקהילה ינסו לעזור לך.

    תודה.


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

    יום שלישי 04 מרץ 2014 00:16
  • בוקר טוב,

    אתה מציג עצמך כבונה אתר, ופונה לפורום של עזרה בפיתוח כדי לחפש אפליקציה מוכנה?
    אולי מישהו יצא לו לראות משהו כזה מוכן בקוד פתוח או כמודול לצירוף באפליקציה שלך. אני לא מכיר ואני מניח שאתה יכול לחפש בגוגל לא פחות טוב ממני :-)

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

    בינתיים פשוט נסה בקישור הבא:
    https://www.google.co.il

    חשוב מאוד!!

    דרך אגב, המילה "בנייה" היא פעולה של חיבור חלקים לכדי תוצאה מוכנה. ויקיפדיה משתמש בהגדרה: בנייה היא תהליך יצירתו, הקמתו או הרכבתו של מבנה מכל סוג שהוא. בנייה היא פעולה טכנית!

    בוני אתרים למשל הם "ילדים" שעוסקים באיסוף קודים מוכנים להקמת אתר שלה, או שעושים שימוש באפליקציות שאחרים פיתחו, ואשר ביכולתן של האפליקציות להקים את האתר עבור המשתמש (למשל שימוש במנגנוני wysiwyg).

    אתר אינטרנט הוא אפליקציה לכל דבר שנעזר בדפדפן כ GUI שלה. אפליקציות WEB אנחנו מפתחים ולא בונים כמובן.

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

     פורומי MSDN נועדו דרך אגב למפתחים :-)
    זה לא אומר שמפתחים לא משתמשים במודולים ועזרים מוכנים ובהחלט ניתן לפנות לעזרת החברים במציאת או בפידבק על קוד/מודול מוכן כזה או אחר. כל מה שחשוב היה להדגיש שאנחנו כאן בשביל מפתחי אתרים ולא בוני אתרים לדעתי ויש להבין את ההבדל במושגים.

    ** אני ממליץ לכל מי שעוסק בתחום להישתמש תמיד במושג מפתח ולא בונה!


    [Personal Site] [Blog] [Facebook]signature

    • סומן כתשובה על-ידי Eran Sharvit יום שלישי 04 מרץ 2014 09:58
    יום שלישי 04 מרץ 2014 08:53
    מנחה דיון
  • אייל כל המערכות המוכנות כמעט של הקהילות כוללות מודולים של הודעות אישיות. אתה יכול למשל הלעזר במערכת של dotnetnuke שיש שם מודול כזה (אני לא זוכר אם ראיתי כזה בחינם אבל יש מודול יפה מאוד בתשלום שנתקלתי בו פעם).

    [Personal Site] [Blog] [Facebook]signature

    יום שלישי 04 מרץ 2014 08:56
    מנחה דיון
  • תודה על התגובה ..

    אקח לתשומת הלב את ההערה בעניין ה"פיתוח" :)

    בכל זאת השקעת פה לא מעט  בהבחנה בין בנייה לפיתוח ...

    לעצם העניין  אשמח לקבל עזרה  בעניין של

    1-באיזו טכנולוגייה הכי כדאי להשתמש בפיתוח מודול מסרים ?msmq \tcpip  וכו

    2-האם קיים מודול מובנה בasp.net  שניתן ל"חבר" למערכת קיימת בהשקעה מינמאלית של אינטגרצייה?

    תודה

    יום שלישי 04 מרץ 2014 10:00
  • היי

    זה כבר ניסוח יותר מתאים לפורום :-)

    1. בעקרון אתה יכול להשתמש ב msmq או בכל תת טכנולוגיה דומה לשמירת Queue (תור של הודעות). למעשה אתה יכול לבסס את ההודעות שלך על service broker של שרתי SQL או על Message Queuing או על Dataflow, או על SignalR, על כל מנגנון תורים (Queue) קיים ויש הרבה כאלה, או לנהל את המסרים לבד. אני תמיד בחרתי בדרך האחרונה עד כה (במקרה של ניהול מסרים בקהילות).

    הרעיון פשוט מאוד ומבוסס על שמוש בטבלה במסד הנתונים הכוללת את כל ההודעות ששולחים. מבנה בסיסי של הטבלה יכלול טורים כמו [מספר שולח], [מספר נמען], [תוכן הודעה]. כמובן שבמערכת חייב להיות ניהול משתמשים. אפשרויות מורכבות יותר (אני תמיד הוספתי כל מני אפשרויות מעניינות) יכולים לכלול איןסוף אפשרויות ככל שהדמיון עולה, למשל אפשר להוסיף בדיקה אם המשתמש קרא את ההודעה (תוספת טור של זמן קריאה), או זמן שליחה של ההודעה, או למשל מיון לתקיות וירטואליות ועוד ועוד :-) הפיתוח של מערכת בסיסית כזו מאפס הוא מאוד פשוט!

    העבודה עם System.Messaging או במילים אחרות עם MSMQ מאוד פשוטה ובעיקרון כוללת את הפעולות של

    // בצד השלוח מייצרים הודעה ושולחים אותה לתור המתאים
    MessageQueue queue = new MessageQueue(".\\Private$\\Queue_Name");
    queue.Formatter = new BinaryMessageFormatter();
    Message m = new Message();
    m.Body = "your serialisable object or just plain string";
    queue.Send(m);
    
    // בצד המקבל את ההודעה יש לקרוא אותה
    MessageQueue queue = new MessageQueue(".\\Private$\\Queue_Name");
    queue.Formatter = new BinaryMessageFormatter();
    Message m = queue.Receive();
    string s = m.Body as string;

    תוכל לקרוא יותר על הנושא כאן:
    http://msdn.microsoft.com/en-us/library/ms711472(v=vs.85).aspx

    2. זה מקום טוב לבדוק בגוגל :-) 

    מכיוון שאני לא נעזרתי בשום מודול מוכן ואני לא ממכיר אחד כזה אני לא יכול להמליץ, אני אשמח לשמוע המלצות של אחרים. בינתיים חיפשתי בשבילך בגוגל את צירופי המילים

    message queue asp.net c#
    message queue asp.net mvc

    וכמובן כמו תמיד קיבלתי תוצאות שניראות מאוד מתאימות וחלקן יפות מאוד. אני ממליץ לך לבדוק את התוצאות (ותוצאות המשנה) לבד:
    https://www.google.co.il/search?q=message+queue+asp.net+c%23

    הנה אחת התוצאות הראשונות ניראית מבטיחה (לא בדקתי אבל בקריאה מהירה):
    http://www.codeproject.com/Articles/193611/DotNetMQ-A-Complete-Message-Queue-System-for-NET

    התוצאה הבאה עושה שימוש ב MSMQ באמצעות MVC אבל בסופו של דבר מבצעת שליחת מיילים בהתאם לתור של ההודעות, אני הייתי מעדיף לוותר על המייל החיצוני ולשלוח הודעה למסד הנתונים.
    http://www.bowu.org/it/microsoft/net/email-asp-net-mvc-msmq-1.html
    http://dotnetslackers.com/articles/aspnet/Sending-email-from-ASP-NET-MVC-through-MVC-and-MSMQ-Part1.aspx

    אני מקווה שזה עוזר מעט :-)

    עוד כמה קישור:

    C#: A Message Queuing Service Application
    http://msdn.microsoft.com/en-us/library/ms973816.aspx


    [Personal Site] [Blog] [Facebook]signature

    יום שלישי 04 מרץ 2014 11:33
    מנחה דיון