View Full Version : سوال: قالب پیام های ارسال شده در WCF به جای XML باینری باشد
Jean Reno
شنبه 03 مهر 1389, 10:32 صبح
با سلام
همان طور که می دانید انتقال پیام ها در WCF بین کلاینت ها و سرور بصورت پیام های Soap در قالب XML صورت می گیرد
حال چطور می تونم تنظیم کنم که انتقال اطلاعات به جای XML باینری باشد ؟
منظور من خود قالب پیام است نه داده های من که بخوام داده هایم رو تبدیل به باینری کنم !
می خوام خود پیام ها در قالب باینری ارسال و دریافت شود
با تشکر
sia_2007
شنبه 03 مهر 1389, 12:47 عصر
خیلی دل خجسته ای داری که این جا سوال میپرسی :چشمک:
برای این کار دو تا راه داری؛ یا این که از Binary Encoder استفاده کنی؛ یا این که Custom Encoder بنویسی؛ خوبی Custom Encoder اینه که میتونه جای خوبی برای Sink پیامهات باشه ؛ اگه Net Remoting. کار کرده باشی؛ منظورم رو بهتر متوجه میشی.
اما اگه Custom Encoder نوشتی؛ مجبور میشی برای Binding ات هم Custom Binding بنویسی
مهم تر از همه Binary Encoder یا در اکثر مواقع Custom Encoder خودت؛ Interoperability شون در حد خیلی کمیه.
از Binary کردن دیتاهات چی میخوای گیر بیاری ؟
کلاینتهات چی هستن ؟
در ضمن بهترین دوست هر WCF کاری؛ MSDN هستش؛ نه سایت برنامه نویس یا هر سایت دیگه ای
من امروز روز استراحتمه
کس دیگه ای ام فکر نکنم به این سوالت جواب میداد؛ یا به اون یکی سوالت در مورد Message Contract
در ضمن اینها تو WCF خیلی پیش پا افتادن؛ این طوری که در شما میبینم ؛ میخواین تو WCF پیشرفت کنید؛
اما با سایت برنامه نویس و برای تک تک مسائل پیش پا افتاده سوال پرسیدن؛ خیلی کند پیشرفت میکنی.
من اینها رو برای خودت گفتم؛ خواهشا ناراحت نشی.
اگه امروز باز هم سوال پرسیدی در خدمتم.
ولی از قدیم گفتن ماهی گیری به از ماهی
موفق باشی
sia_2007
شنبه 03 مهر 1389, 12:56 عصر
راستی؛ یادت نره؛ برای Custom Encoder نوشتن؛ نمیتونی از BinaryMessageEncodingBindingElement ارث بری کنی؛ باید بری سراغ MessageEncoder
ارث بریش نکته داره ولی سخت نیست.
دلیل این هم که نمیذاره از BinaryMessageEncodingBindingElement ارث بری کنی اینه که؛ این جزء 3 تا کلاس هست؛ که به Encoder تمام معنا ؛ وجود میدن؛ در واقع ارث بری از این کلاس ؛ متضمن ارث بری از 2 تا کلاس دیگه هم هست.
در نتیجه ؛ وقتی معلوم نیست همه این قاعده رو رعایت کنن؛ میان sealed اش میکنن
شما میتونی همزمان از MessageEncoderFactory و MessageEncoder و MessageEncodingBindingElement ارث برای کنی و کار رو تموم کنی
البته من روش رو با Binary امتحان نکردم؛ من فقط یه Sink لازم داشتم که داخلش Analysis و Compress و ... رو انجام میدادم
Custom Binding رو هم فراموش نکن
موفق باشی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.