PDA

View Full Version : Remoting



mhd78
چهارشنبه 09 خرداد 1386, 15:17 عصر
با توجه به اینکه در Remoting باید Metadata را مشخص کرد (نوع داده ای که بین Client ,Server رد و بدل می شود) مثلا کلاس Person .
RemotingConfiguration.RegisterWellKnownServiceType (GetType(Person), "Person .soap", WellKnownObjectMode.SingleCall)


حال اگر بخواهیم با دو یا چند کلاس کار کنیم چه باید بکنیم

manager
چهارشنبه 09 خرداد 1386, 16:11 عصر
هر Type ای رو که خواستی، به عنوان Well Known Service ثبت کن.

mhd78
چهارشنبه 09 خرداد 1386, 16:56 عصر
اینکه مشخصه ولی من میخوام با چند Type کار کنم مثلا کلاس person,Office
و از آنجا که در سمت Server,Client نوع metadata مشخص است و در واقع ثابت ایست مثلا در هر دو طرف Person یا Office است
چه باید بکنم؟

manager
چهارشنبه 09 خرداد 1386, 20:25 عصر
اینکه مشخصه ولی من میخوام با چند Type کار کنم مثلا کلاس person,Office
و از آنجا که در سمت Server,Client نوع metadata مشخص است و در واقع ثابت ایست مثلا در هر دو طرف Person یا Office است
چه باید بکنم؟متاسفم، من هر چی این سوالتون رو خوندم، متوجه نشدم دقیقا مشکلتون چیه !!!!!!!!!:متفکر:

yavari
چهارشنبه 09 خرداد 1386, 22:56 عصر
سلام

وای چقدر خوشحالم که یکی مثل من درگیر ریموتینگه !!! :لبخندساده: :تشویق:

شما میتونی داخل Share Class مد نظرت یه فضا نام ایجاد کنی و کلاساتو داخل اون داشته باشی ! حالا هر چند تا کلاس !!! و از آبجکتا و ایونتای کلاسای مربوطه استفاده کنی !
بعدم کانفیگت اینجوری باشه

<Configura...
...
type="InBetween.RemoteClass,RemoteClass"
...

امیدوارم منظورتونو درست فهمیده باشم ! :خجالت:

موفق باشید و پرتوان در این راه ! :تشویق:

mhd78
شنبه 12 خرداد 1386, 14:44 عصر
من دو فرم به نامهای Personel,Office دارم می خواهم از روش MultiTier و Remoting استفاده کنم
با توجه به اینکه در Remoting باید Metadata را مشخص کرد (نوع داده ای که بین Client ,Server رد و بدل می شود) مثلا کلاس Person .
RemotingConfiguration.RegisterWellKnownServiceType (GetType(Person), "Person .soap", WellKnownObjectMode.SingleCall

حال چگونه می توانم Typeیی که بین Client,Server جابجا می شودرا بصورت دینامیک تعریف کنم یعنی یکبار ابجکت Person و یکبار دیگر ابجکت office و ...
لطفا با یک مثال توضیح دهید
با تشکر

manager
شنبه 12 خرداد 1386, 22:25 عصر
من دو فرم به نامهای Personel,Office دارم می خواهم از روش MultiTier و Remoting استفاده کنم
با توجه به اینکه در Remoting باید Metadata را مشخص کرد (نوع داده ای که بین Client ,Server رد و بدل می شود) مثلا کلاس Person .
RemotingConfiguration.RegisterWellKnownServiceType (GetType(Person), "Person .soap", WellKnownObjectMode.SingleCall

حال چگونه می توانم Typeیی که بین Client,Server جابجا می شودرا بصورت دینامیک تعریف کنم یعنی یکبار ابجکت Person و یکبار دیگر ابجکت office و ...
لطفا با یک مثال توضیح دهید
با تشکرخوب شما باید از یک Interface میان این Typeها استفاده کنی. در سمت سرور هر شیئ خاصی از این Typeها ایجاد کنی و به سمت کلاینت بفرستی. دقت داشته باش که در سمت Client نمی تونی و نباید به Propertyهایی غیر از Propertyهای مشخص شده در Interface دسترسی پیدا کنی، در عیر این صورت از Soapsode.exe استفاده کن(که اصلا پیشنهاد نمی شه و تو Maintenance سیستم دچار مشکل های عدیده ای می شی)
کلا کاری که می خوی بکنی یکمی غیر منطقی ! و باید تمام Typeهایی رو که تو Client باهاشون کار می کنی رو صراحتا معلوم کنی.

yavari
شنبه 12 خرداد 1386, 22:48 عصر
سلام
متاسفانه منظورتونو درست متوجه نشدم !
چیزی که از پست شما برداشت میشه اینه که شاید نیاز داشته باشید 2 تا کانال برا اینکار رجیستر کنین اما اگه بتونین Share Class تون رو بذارید شاید بهتر بشه فهمید منظورتونو !

موفق باشید

mhd78
یک شنبه 13 خرداد 1386, 09:01 صبح
اینکه باید از Interface استفاده کرد بدیهی است و لی همانطور که می دانید در سمت Server , در ActiveServer باید مشخص کرد که این interface بوسیله جه کلاسی پیاده سازی می شه و این یعنی اینکه static کار کردن چون ما یک کلاس و یک Object خاص را مشخص کردیم هدف من این است که بتوانم Object سمت server را Dynamic بگیرم
در مورد ShareClass مورد اشاره شما باید بگویم که اگر من 30 کلاس در Bussiness Layer داشته باشم زیاد جالب نحواهد بود
لطفا یک مثال واقعی در مورد ShareClass بزنید(Code)

manager
یک شنبه 13 خرداد 1386, 10:17 صبح
اینکه باید از Interface استفاده کرد بدیهی است و لی همانطور که می دانید در سمت Server , در ActiveServer باید مشخص کرد که این interface بوسیله جه کلاسی پیاده سازی می شه و این یعنی اینکه static کار کردن چون ما یک کلاس و یک Object خاص را مشخص کردیم هدف من این است که بتوانم Object سمت server را Dynamic بگیرم
در مورد ShareClass مورد اشاره شما باید بگویم که اگر من 30 کلاس در Bussiness Layer داشته باشم زیاد جالب نحواهد بود
لطفا یک مثال واقعی در مورد ShareClass بزنید(Code)
دقیقا این از اصول Remoting هست، شما نمی تونید یک کلاس رو به صورت Dynamic بین Client/Server به اشتراک بذارید ! تقاضای شما مثل این می مونه که بخواین یک برنامه ای بنویسید که با مجموعه از کلاس ها کار کنه که Type این کلاس ها به صورت پویا باشه ؟!! شما می تونید با اشیاء پویا کار کنید که از یک Interface مشترک به ارث می برند.
در مورد Share Classها هم باید بگم شما باید با Interfaceها کار کنید و اگر به مطلبی که نوشتم دقت کنید می ببیند که من Share کردن Class Metadata و نیز خود کلاس ها را پیشنهاد نکردم.
در ادامه توجه شما رو به مبانی شیئ گرائی جلب می کنم، که تاکید بیشتری باشه که این کار شما با اصل شیئ گرائی مشکل دارد.

mhd78
یک شنبه 13 خرداد 1386, 12:08 عصر
ببینید من در سمت Server سه کلاس Personel,Office,Rules دارم که این سه کلاس یک Interface را پیاده سازی می کنند من در Server , در ActiveServer چه باید بنویسم که با هر سه Object در سمت Client (WinApp) بتوانم کار کنم
لطفا با کد توضیح دهید

yavari
یک شنبه 13 خرداد 1386, 15:34 عصر
ببینید من در سمت Server سه کلاس Personel,Office,Rules دارم که این سه کلاس یک Interface را پیاده سازی می کنند من در Server , در ActiveServer چه باید بنویسم که با هر سه Object در سمت Client (WinApp) بتوانم کار کنم
لطفا با کد توضیح دهید

سلام
دوست من ، کافیه اون کلاسی که اینترفیستون عنصری از اونه رو صدا کنین !


RemotingConfiguration.RegisterWellKnownServiceType ( _
GetType(RemoteLib), _
"ClientApplication", WellKnownObjectMode.Singleton)

امیدوارم این سمپل مفید باشه براتون !

موفق باشید .

mhd78
یک شنبه 13 خرداد 1386, 17:14 عصر
دقیقا این از اصول Remoting هست، شما نمی تونید یک کلاس رو به صورت Dynamic بین Client/Server به اشتراک بذارید ! تقاضای شما مثل این می مونه که بخواین یک برنامه ای بنویسید که با مجموعه از کلاس ها کار کنه که Type این کلاس ها به صورت پویا باشه ؟!! شما می تونید با اشیاء پویا کار کنید که از یک Interface مشترک به ارث می برند.


با تشکر
من هم دقیقا همین را می خواهم من می خواهم با اشیاء پویا کارکنم که یک Interface را پیاده سازی کرده باشند
لطفا با کد مثال بزنید


دوست من ، کافیه اون کلاسی که اینترفیستون عنصری از اونه رو صدا کنین !


کد:
RemotingConfiguration.RegisterWellKnownServiceType ( _
GetType(RemoteLib), _
"ClientApplication", WellKnownObjectMode.Singleton)امیدوارم این سمپل مفید باشه براتون !


جناب آقای یاوری با تشکر
سمپلی که شما فرستادید در سمت Server دارای یک کلاس است و این بسیار ساده است اما هدف من این است که کلاسهای سمت Server که Inerface را پیاده سازی می کنند چند تا باشند و در سمت Client (WinApp) با همه آن Object ها بتوان کار کرد

لطفا با کد مثال بزنید

mhd78
سه شنبه 15 خرداد 1386, 10:52 صبح
Please Help me

yavari
سه شنبه 15 خرداد 1386, 14:25 عصر
سلام

من هنوز به خیلی مونده تا به این گیرا برسم ! :خجالت:
http://msdn2.microsoft.com/en-us/library/y0h540a7.aspx
http://msdn2.microsoft.com/en-us/library/cbzcxy2s.aspx
ببینید اینا کمکتون میکنه !

موفق باشید

mhd78
چهارشنبه 16 خرداد 1386, 14:36 عصر
جناب آقای یاوری با تشکر
بنده در مورد Remoting و چگونه عمل کردن آن مشکل ندارم از نظر من Remoting زمانی در MultiTier مفید خواهد بود که بتوان با استفاده از یک Activer Server که دینامیک است و بتواند کلاسهای مختلف مربوط به BL,DL را پشتیبانی کند پیاده سازی کرد یعنی برای هر کلاس مربوط به BL نیاز نباشد یک ActiveServer نوشت