PDA

View Full Version : فرستادن پیام از server به client



niloofar norouzi
دوشنبه 07 مرداد 1387, 12:11 عصر
سلام
چور می توان از server به client پیامی فرستاد که به طور مثال درج داده ی جدید تکراری است؟

mehdi.mousavi
دوشنبه 07 مرداد 1387, 13:19 عصر
سلام چور می توان از server به client پیامی فرستاد که به طور مثال درج داده ی جدید تکراری است؟

سلام.
اگر از Web Service استفاده میکنید، میتونید Exception ای رو در سمت Server تولید کنید، اونو موقع Serialize شدن Message اتون درون SOAP Packet قرار بدین و به سمت Client ارسال کنید. برای انجام اینکارها هم به WSE نیاز دارین. در نهایت میتونید با درست کردن Attribute خاصی، متودهای وب سرویستون رو با این خصیصه decorate کنید، تا کد خوانا و بسیار ساده ای داشته باشید. (این احتمالا عنوان مقاله بعدی من در CodeProject خواهد بود).

اما اگر از Web Service ها استفاده نمیکنید، باید ذکر کنید که چه تکنولوژیهایی در سیستم شما دخیل هستن و شما از چه مدلی پیروی میکنید. بعنوان مثال در مدل Client-Server، میتونید Packet هایی بعنوان Response Packet درست کنید که بر اساس Request Packet شما به Client ارسال میشن. اونوقت میتونید ایراد بوجود اومده رو به اطلاع Client برسونید.

niloofar norouzi
دوشنبه 07 مرداد 1387, 20:54 عصر
سلام.
اگر از Web Service استفاده میکنید، میتونید Exception ای رو در سمت Server تولید کنید، اونو موقع Serialize شدن Message اتون درون SOAP Packet قرار بدین و به سمت Client ارسال کنید. برای انجام اینکارها هم به WSE نیاز دارین. در نهایت میتونید با درست کردن Attribute خاصی، متودهای وب سرویستون رو با این خصیصه decorate کنید، تا کد خوانا و بسیار ساده ای داشته باشید. (این احتمالا عنوان مقاله بعدی من در CodeProject خواهد بود).

اما اگر از Web Service ها استفاده نمیکنید، باید ذکر کنید که چه تکنولوژیهایی در سیستم شما دخیل هستن و شما از چه مدلی پیروی میکنید. بعنوان مثال در مدل Client-Server، میتونید Packet هایی بعنوان Response Packet درست کنید که بر اساس Request Packet شما به Client ارسال میشن. اونوقت میتونید ایراد بوجود اومده رو به اطلاع Client برسونید.
من ازweb serviceاستفاده می کنم
اما لطف می کنید بیشتر توضیح بدید.

Zaparo
دوشنبه 07 مرداد 1387, 21:51 عصر
http://www.codeproject.com/KB/webservices/DuplexWebService.aspx

اگر از WCF استفاده میکنی میتونی به ServiceContract بگی که Duplex ش چیه و بعد با کد پیاده سازیش کنی این عمل معمولا" به درد ChatService ها میخوره تو WCF دنبال CallbackContract بگرد

رضا عربلو
دوشنبه 07 مرداد 1387, 21:59 عصر
با Notification service اس کیو ال هم می شود یک کارهایی کرد. بگردید آقای بهروز راد مثالی در همین سایت قرا داده است.

mehdi.mousavi
دوشنبه 07 مرداد 1387, 22:41 عصر
من ازweb serviceاستفاده می کنم اما لطف می کنید بیشتر توضیح بدید.

سلام.
از اونجاییکه تکنیکی که ذکر کردم جزییات بسیار زیادی داره، تنها میشه با نوشتن یه مقاله ای در اینباره مساله رو بطور واضح و روشن نشون داد. ذکر جزییات بیشتر دراینباره رو موکول به مقاله ای میکنم که قبلا در موردش صحبت کردم.

mehdi.mousavi
دوشنبه 07 مرداد 1387, 23:03 عصر
http://www.codeproject.com/KB/webservices/DuplexWebService.aspx

اگر از WCF استفاده میکنی میتونی به ServiceContract بگی که Duplex ش چیه و بعد با کد پیاده سازیش کنی این عمل معمولا" به درد ChatService ها میخوره تو WCF دنبال CallbackContract بگرد


سلام.
روشی که در این مقاله ذکر شده، از نظر من، بیشتر به یه Hack شبیه هستش، تا یه روش سر راست و اصولی. (البته نویسنده مقاله هم این موضوع رو بطور ضمنی عنوان کرده). ضمن اینکه این روش ، برای انتقال یه Exception از Service به Client مطلقا کارایی نداره (اگر چه امکان پذیره) و حتما باید طبق قوانین SOAP اینکار رو انجام داد. (بعبارت دیگه SOAP FAULT ها).

Zaparo
دوشنبه 07 مرداد 1387, 23:35 عصر
راه کاره شما چیه میشه بیشتر توضیح بدید ؟

البته WSE هم امکانات جالبی برای این مورد ارائه میده
ولی خوب در WCF خیلی راحت شما میتونید Send/Receive داشته باشید