נשלח בתאריך: 22 June 2005 בשעה 19:28 | | IP רשוּם
|
|
|
|
שלום,
אני מנסה לעשות שימוש באובייקט מרוחק ע"י MarshalByRefObject.
אני יורש מהמחלקה הזו ואז רושם את הערוץ כך:
קוד:
chan = new TcpChannel(Convert.ToInt32(port));
ChannelServices.RegisterChannel (chan);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(Server),"MailServer",WellKnownObjectMode.Singleton);
|
|
|
וקורא לו כך:
קוד:
TcpChannel c = new TcpChannel ();
ChannelServices.RegisterChannel (c);
Server srv;
srv = (Server)Activator.GetObject(typeof(Server),"tcp://localhost:" + portTo + "/MailServer");
|
|
|
2 בעיות:
1. לא ניתן לבצע רישום של כמה ערוצים משום שזה נותן ERROR שהערוץ כבר רשום. נסיתי לשנות את שם הערוץ אך הוא נותן הודעת שגיאה שזה לקראיה בלבד. פתרון "יצירתי" שאני עושה לבעיה היא בזמן ההרצה ע"י הדי-באג אני משנה את השם של הערוץ ידנית (לכל ערוץ) ואז נמנעת ההתנגשות. אבל בכל זאת אני צריך פיתרון אחר.
2. כאשר אני קורא לאובייקט המרוחק הוא יוצר אותו לא NULL אבל כל הערכים הפנימיים שלו הם NULL. (האובייקט כמובן נוצר לפני הקריאה). יש למישהו מושג איתך פותרים את זה?
תודה מראש.
__________________ -feint
|