دوره‌ای که می‌تونه مسیر شغلیت رو عوض کنه! دوره‌ای که می‌تونه مسیر شغلیت رو عوض کنه!
🎯 ثبت نام
بستن تبلیغات
تسلط کامل بر سی‌شارپ با یک دوره پروژه‌محور

یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شی‌گرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفه‌ای و امکانات کامل!

مشاهده بیشتر
تسلط جامع بر MVC Core برای توسعه وب حرفه‌ای

یادگیری MVC Core از مبانی تا پیشرفته: شی‌گرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژه‌های کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!

مشاهده بیشتر

تنظیمات اتصال سرویس WCF

دوره های پیشنهادی

WCF –Service binding (تنظیمات اتصال سرویس)

Binding یک مجموعه (تنظیم) متشکل از چندین المان هست که در آن هر المان نحوه ی برقراری ارتباط سرویس با کلاینت را مشخص می کند. دو المان transport و message encoding مهمترین جز تشکیل دهده ی هر binding هستند. در این مبحث، binding های پرکاربرد سرویس WCF را توضیح می دهیم.

Basic binding

Basic binding توسط کلاس BasicHttpBinding ارائه می شود. این نوع binding از پروتکل HTTP برای انتقال استفاده کرده و سرویس WCF را به عنوان یک سرویس تحت وب ASP.NET ارائه می دهد تا کلاینت های قبلی که از سرویس های تحت وب ASMX استفاده می کنند بتوانند به راحتی از سرویس های جدید استفاده کنند.

در یک سرویس تحت وب WCF که توسط Silverlight فعال سازی می شود، basic binding به عنوان binding پیش فرض تنظیم شده و در تبادلات و ارتباطات به روش سرویس های تحت وب (web service)، binding استاندارد تلقی می شود. Binding ذکر شده از قابلیت reliable messaging پشتبانی نمی کند.

در زیر تکه کدی را می بینید که تنظیمات پیش فرض basic binding را به نمایش گذاشته است.



    

     

     

        

        

           

   

        

همان طور که می بینید تنظیمات پیش فرض basic binding ، محدودیت هایی را دارند. برای مثال اندازه ی پیغام (message size) محدود بوده و هیچ گزینه یا property ای برای تنظیم حالت امنیتی (security mode) وجود ندارد. با این حال می توان با تنظیم سفارشی basic binding مانند زیر این مشکل را کاملا برطرف ساخت:



  

     

         

  


Web service binding

WS Binding توسط کلاس WSHttpBinding ارائه می شود. این نوع binding بسیار مشابه نمونه ی قبلی می باشد و برای انتقال داده نیز از همان پروتکل ها استفاده می کند، با این تفاوت که مشخصات و قابلیت های WS–* متعددی نظیر WS–Reliable Messaging، WS–Transactions، WS–Security و غیره ... به آن اضافه شده است. به عبارتی می توان گفت که WSHttpBinding معادل basicHttpBinding است که مشخصات WS–* به آن الحاق شده است. تکه کد زیر تنظیمات پیش فرض WS Binding را به نمایش می گذارد:



  

     

     

     

        

                       

     

  

IPC Binding

ICP Binding برای انتقال اطلاعات از named pipes بهره می گیرد و توسط کلاس netNamedPipeBinding ارائه می شود. ICP Binding در واقع سریع ترین و امن ترین نوع binding محسوب می شود. اگرچه امنیت در سطح پیغام (message level) توسط این نوع binding پشتیبانی نمی شود، با این وجود به دلیل امنیت بالای خود انتقال، امنیت پیغام به صورت ضمنی تامین شده است. تکه کد زیر تنظیمات پیش فرض ICP binding را برای شما به نمایش گذاشته:



   

     

                          

         

  


انواع دیگر Service Binding

TCP Binding –این نوع binding که توسط کلاس NetTCPBinding ارائه می شود، برای ارتباط داخل همان شبکه (یکسان) از پروتکل TCP بهره گرفته و پیغام ها (message encoding) را با فرمت binary رمزنگاری می کند. TCP Binding قابل اطمینان ترین نوع binding ها محسوب می شود.

WS Dual Binding –این نوع binding بیشتر شبیه به WSHttpBinding است، با این تفاوت که امکان ارتباط دو طرفه را فراهم می سازد. بدین معنی که پیغام ها می توانند توسط کلاینت و سرویس هم فرستاده و هم دریافت شوند. WS Dual Binding توسط کلاس WSDualHttpBinding ارائه می شود.

Web binding –این نوع binding سرویس های WCF را با استفاده از HTTP-GET، HTTP-POST در قالب درخواست های HTTP ارائه می دهد. Web binding توسط کلاس WebHttpBinding ارائه شده و به طور معمول در شبکه های اجتماعی مورد استفاده قرار می گیرد.

MSMQ Binding- توسط کلاس NetMsmqBinding ارائه می شود. این نوع binding در شرایطی که سرویس باید پیغام را در زمان مشخصی پردازش کند (نه صرفا زمانی که پیغام توسط کلاینت ارسال می شود) کاربرد دارد. MSMQ binding برای انتقال داده از پروتکل MSMQ (پیغام رسانی امن) بهره گرفته و از قابلیت (صف بندی پیغام ها) message queuing پشتیبانی می کند (MSMQ در اصل یک پروتکل پیام رسانی است که به اپلیکیشن های در حال اجرا بر روی سرورها/فرایندهای جدا اجازه می دهد تا به روشی امن (ایمن در برابر خرابی) با یکدیگر ارتباط برقرار می کند. Queue یا صف یک مکان ذخیره ی موقت اطلاعات است که پیغام ها می توانند از آن (در صورت برقراری شرایط خاص) به روش قابل اطمینان و امن ارسال / دریافت شوند).

Federated WS Binding –یک فرم خاص از WS binding هست که از معماری federated security پشتیبانی می کند. Federated WS Binding توسط کلاس WSFederationHttpBinding ارائه می شود ( federated security این امکان را فراهم می کند تا سرویس مورد استفاده ی یک کلاینت را از فرایندهای احراز هویت / authentication و تخصیص مجوز / authorization مربوطه جدا کرد. این معماری همچنین قابلیت همکاری بین چندین سیستم، شبکه و سازمان را در trust realm های مختلف فراهم می کند).

Peer Network Binding –این binding توسط کلاس NetPeerTCPBinding ارائه شده و غالبا در سیستم های به اشتراک گذاری فایل (file sharing) مورد استفاده قرار می گیرد. از پروتکل TCP بهره گرفته ولی برای انتقال داده از peer networking استفاده می کند. در این نوع شبکه، هر node (ماشین) هم نقش کلاینت و هم نقش سرور را برای دیگر node ها ایفا می کند. همان طور که گفته شد، Peer network binding غالبا در سیستم های به اشتراک گذاری فایل نظیر torrent ها مورد استفاده قرار می گیرد.

MSMQ Integration Binding –این binding که توسط کلاس MsmqIntegrationBinding ارائه می شود، تبادل اطلاعات (ارتباط) در سیستم های جاری که از طریق MSMQ (پروتکل پیغام رسانی امن) مایکروسافت باهم ارتباط برقرار می کنند را امکان پذیر می کند.

جدای از binding های نام برده در بالا، می توان binding های اختصاصی خود را تعریف کرد. با این حال از آنجایی که امکان ویرایش جزئی property های تنظیمات هر یک از WCF binding ها وجود دارد، نیاز به ایجاد binding های اختصاصی به ندرت احساس می شود.

1395/05/12 2735 4
نظرات شما

نظرات خود را ثبت کنید...