PDA

View Full Version : share کردن آبجکتی از یک کلاس بین کلاینتها



Mrs.Net
دوشنبه 23 اردیبهشت 1387, 11:18 صبح
آیا روشی هست که داخل سرور آبجکتی از یک کلاس ساخته بشه و بعد این آبجکت بین کلاینتها به اشتراک گذاشته بشه و یا بعبارتی کلاینتها بتوانند از اون شی استفاده کنند(بدون اینکه شی جدیدی از اون کلاس بسازند)

Mrs.Net
سه شنبه 24 اردیبهشت 1387, 10:10 صبح
نظر کارشناسی بدین لااقل

اَرژنگ
سه شنبه 24 اردیبهشت 1387, 11:27 صبح
آیا روشی هست که داخل سرور آبجکتی از یک کلاس ساخته بشه و بعد این آبجکت بین کلاینتها به اشتراک گذاشته بشه و یا بعبارتی کلاینتها بتوانند از اون شی استفاده کنند(بدون اینکه شی جدیدی از اون کلاس بسازند)

http://www.google.com.au/search?num=100&hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&hs=bzo&q=.net+Remoting+or+Windows+Communication+Foundatio n&btnG=Search&meta=]

Mrs.Net
سه شنبه 24 اردیبهشت 1387, 17:25 عصر
ممنون. میشه یک راهنمایی برای شروع wcf بکنید؟(آموزش)

Mrs.Net
شنبه 26 مرداد 1387, 22:05 عصر
تا اینجا که از wcf متوجه شدم . تنها میشه یک ارتباط واحد بین کلاینتها ایجاد کرد و نمیشه یک آبجکت مستقیما در اختیار کلاینتها قرار داد.
کسی نظری نداره؟

KambizZandi
شنبه 26 مرداد 1387, 22:10 عصر
چند تا راه داره ولي مهمترين و بهترين اون dotNet Remoting هست
در اون حالت بايد از Singleton استفاده کنيد که بهش Single Instance هم ميگن

Mrs.Net
شنبه 26 مرداد 1387, 23:12 عصر
ممنون . اینهایی که شما گفتید برای پست اول بود
و wcf برای اینکار پیشنهاد دادند. و با خاصیت Single Instance که با wcf میشه انجام داد.
اما بعد از این کارها متوجه شدم که نمیشه مستقیما آبجکت در اختیار کلاینتها قرار بگیره.

اَرژنگ
یک شنبه 27 مرداد 1387, 05:19 صبح
ممنون . اینهایی که شما گفتید برای پست اول بود
و wcf برای اینکار پیشنهاد دادند. و با خاصیت Single Instance که با wcf میشه انجام داد.
اما بعد از این کارها متوجه شدم که نمیشه مستقیما آبجکت در اخطیار کلاینتها قرار بگیره.
پس Streaming برایه چه کاریه؟

Mrs.Net
یک شنبه 27 مرداد 1387, 09:00 صبح
س Streaming برایه چه کاریه؟ خوب بیشتر توضیح بدید!

اَرژنگ
یک شنبه 27 مرداد 1387, 13:43 عصر
خوب بیشتر توضیح بدید!
توضیح‌ندارد. شما یک ابجکت را استریم میکنید و از یک کلاینت به یک کلاینت دیگر میفرستید، اصلا یکی از موضوعات پایه‌ای دت‌نت همین استریمینگ است. یک گوگل کنید از هر چی توضیحی که من بدم خیلی بهترش را بدست میارید، اگر مشکل بخصوصی بر خوردید بگید.

Mrs.Net
یک شنبه 27 مرداد 1387, 13:52 عصر
من که نمیخوام آبجکت بفرستم. میخوام بجای اینکه تو کلاینت یک آبجکت جدید از کلاس آ درست کنم. از آبجکتی که تو سرور ساخته شده استفاده کنم. بطوریکه هم سرور هم کلاینت هر تغییری روی اینت آبجکت رخ داد بفهمند.

hdv212
یک شنبه 27 مرداد 1387, 14:41 عصر
تا اونجایی که من متوجه شدم، شما به جای اینکه بخواهید داده ها رو به کلاینت ها بفرستید و بگیرید، میخواهید یک آبجکت با داده های مشخص رو بین برنامه های کلاینت ها پاس بدید تا اونا هم روی آبجکت مورد نظر تاثیر بذارند، شما باید در اینترنت به دنبال IPC یا Inter-Process Communication (http://msdn.microsoft.com/en-us/library/aa365574.aspx) بگردید.

Mrs.Net
یک شنبه 27 مرداد 1387, 22:44 عصر
داده ها مشخص نیستند و کلاینتها همه یا این آبجکت کار میکنند و میخوام که تاثیرش تو بقیه کلاینتها دیده بشه. یکم IPC مطالعه کردم فکر نکنم برای اینکار باشه



Should the application be able to communicate with other applications running on other computers on a network, or is it sufficient for the application to communicate only with applications on the local computer?
Should the application be able to communicate with applications running on other computers that may be running under different operating systems (such as 16-bit Windows or UNIX)?
Should the user of the application have to choose the other applications with which the application communicates, or can the application implicitly find its cooperating partners?
Should the application communicate with many different applications in a general way, such as allowing cut-and-paste operations with any other application, or should its communications requirements be limited to a restricted set of interactions with specific other applications?
Is performance a critical aspect of the application? All IPC mechanisms include some amount of overhead.
Should the application be a GUI application or a console application? Some IPC mechanisms require a GUI application.

اَرژنگ
دوشنبه 28 مرداد 1387, 02:37 صبح
داده ها مشخص نیستند و کلاینتها همه یا این آبجکت کار میکنند و میخوام که تاثیرش تو بقیه کلاینتها دیده بشه. یکم IPC مطالعه کردم فکر نکنم برای اینکار باشه

IPC ربطی به این کار ندارد.
http://www.c-sharpcorner.com/UploadFile/jibinpan/RemoteObjects11222005002400AM/RemoteObjects.aspx

Mahdi.Kiani
دوشنبه 28 مرداد 1387, 08:57 صبح
ممنون. میشه یک راهنمایی برای شروع wcf بکنید؟(آموزش)

WCF programming for Beginners (http://www.c-sharpcorner.com/UploadFile/SunilBabuYLV/WCF4Beginners08132008040537AM/WCF4Beginners.aspx)

hdv212
دوشنبه 28 مرداد 1387, 12:03 عصر
IPC ربطی به این کار ندارد.
چطور ربطی نداره ؟ (http://msdn.microsoft.com/en-us/library/aa365574(VS.85).aspx)

The Microsoft Windows operating system provides mechanisms for facilitating communications and data sharing between applications. Collectively, the activities enabled by these mechanisms are called interprocess communications (IPC).

Zaparo
دوشنبه 28 مرداد 1387, 14:42 عصر
شما یه کلاس رو تو wcf میسازی برای سرویست یه callback برای سرویس میسازی که کلاینت اون رو پیاده میکنه و هر تغییری که تو سرویس ایجاد بشه کلاینت میبینه هر تغییری هم کلاینت داد میبینه مثلا" ChatService شما یه لیست از افراد داری که یه collection هر تغییری رو کلاینت سرور رو مطلع میکنه و بلعکس
این راه منه البته اگه سوال شما رو درست متوجه شده باشم

Mrs.Net
دوشنبه 28 مرداد 1387, 15:44 عصر
شما یه کلاس رو تو wcf میسازی برای سرویست یه callback برای سرویس میسازی که کلاینت اون رو پیاده میکنه و هر تغییری که تو سرویس ایجاد بشه کلاینت میبینه هر تغییری هم کلاینت داد میبینه مثلا" ChatService شما یه لیست از افراد داری که یه collection هر تغییری رو کلاینت سرور رو مطلع میکنه و بلعکس
خودمم از این روش استفاده میکنم گرچه تو endpoint ها خیلی مشکل دارم و تنها قسمتی هست که هنوز نفهمیدم چه شرایطی داره.

اَرژنگ
دوشنبه 28 مرداد 1387, 17:16 عصر
چطور ربطی نداره ؟ (http://msdn.microsoft.com/en-us/library/aa365574%28VS.85%29.aspx)

The Microsoft Windows operating system provides mechanisms for facilitating communications and data sharing between applications. Collectively, the activities enabled by these mechanisms are called interprocess communications (IPC).

دلیل اینکه به موضوع این توپیک روط ندارد دقیقا همان متن و لینکی است که فرستادید.


The Microsoft Windows operating system provides mechanisms for facilitating communications and data sharing between applications. Collectively, the activities enabled by these mechanisms are called interprocess communications (IPC).

between applications is understood to be applications running on separate machines

hdv212
دوشنبه 28 مرداد 1387, 17:38 عصر
دلیل اینکه به موضوع این توپیک روط ندارد دقیقا همان متن و لینکی است که فرستادید.


کد:
The Microsoft Windows operating system provides mechanisms for facilitating communications and data sharing between applications. Collectively, the activities enabled by these mechanisms are called interprocess communications (IPC).

between applications is understood to be applications running on separate machines
منظورتو متوجه نشدم، مگه نمیخواد داده ها رو بین Applicationها Share کنه ؟

اَرژنگ
دوشنبه 28 مرداد 1387, 18:22 عصر
منظورتو متوجه نشدم، مگه نمیخواد داده ها رو بین Applicationها Share کنه ؟
IPC ترمی بود که معمولا برایه Application هایی که بر رویه یک ماشین هستند استفاده میشد،
معولا وقتی که به جایه Application میگند کلاینت ، فرض بر این است که Application ها بر ماشینهایه مختلف اجرا میشند.
ولی حالا که فکر میکنم میبینم که از یک لحاض میشه از واژه IPC در این مطلب استفاده کرد و از یک لحاظ درست نیست. اگر من میخواستم با کسانی که در قدیم باهاشان کار کردم در این مطلب حرف بزنم از واژههایه RPC ، Remoting ، WCF استفاده میکردم.
و اگر کسی باهام در مورد IPC میخواست حرف بزند فرض بر این بود که Application هایی که بر رویه یک ماشین هستند.

استفاده از واژه IPC اگرچه از لحاظ تکنیکی درست است ولی از لحاظ استفاده عمومی من مطمعن نیستم که قابل قبول باشد (نباشد).
حرفی را که قبلا گفتم میخوام اصلاح کنم :‌ بنا بر اینکه باور کسانی که باهاشان حرف میزنید چی هست استفاده از واژه IPCدرست است (یا نیست).

حالا که نوع کاربردتان را درک میکنم (من) با استفاده از واژه IPCدر این مطلب دیگر مشکلی ندارم (استفاده از واژه IPC از لحاظ تکنیکی از همان اولش هم کاملا درست بود) .

Zaparo
دوشنبه 28 مرداد 1387, 18:27 عصر
خودمم از این روش استفاده میکنم گرچه تو endpoint ها خیلی مشکل دارم و تنها قسمتی هست که هنوز نفهمیدم چه شرایطی داره.

این موضوع که گفتم فقط با یکسری از Binding ها جواب میده فکر کنم wsDualHttpBinding

مشکلتون با endpoint ها چیه؟

Mrs.Net
دوشنبه 28 مرداد 1387, 18:33 عصر
دیدی که با IPC دارم این هست که یک لیستنر هست که مدام منتظر تغییرات هست و بار روی سرور و کلاینت ایجاد میکنه (درست میگم؟) اما wcf اینجوری نیست. اما نمیدونم چون از دیروز با IPC آشنا شدم


مشکلتون با endpoint ها چیه؟ مشکلم اینه که وقتی از پروتکل http استفاده میکنم دیگه تو حالت شبکه lan جواب نمیده. (احتمالا باید قسمتهایی permission بدم که بلد نیستم) گرچه تو دستگاه خودم (localhost) درست کار میکنه.

hdv212
دوشنبه 28 مرداد 1387, 21:35 عصر
ظاهرا IPC مبحث بسیار بزرگیه و حتی Remoting هم زیر مجموعه ای از اونه، مضاف بر اینکه IPC مکانیسمهای مختلفی داره که این مقاله (http://www.codeproject.com/KB/threads/ipcworkshop.aspx) اکثر اونا رو تشریح میکنه.