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

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

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

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

مشاهده بیشتر

آموزش مفاهیم WCF

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

WCF –معارفه

WCF سرنام واژگان Windows Communication Foundation است. ویژگی اصلی WCF همکنش پذیری یا به اصطلاح interoperability آن است (interoperability به قابلیت سامانه‌ها و ساختارهای گوناگون برای کار کردن با هم‌دیگر گفته می ‌شود). این فریم ورک یکی از تکنولوژی های نوین Microsoft ویژه ی ساخت برنامه های سرویس گرا می باشد. با توجه به اینکه که تکنولوژی مزبور از طریق پیغام ارتباط برقرار می کند (که در آن درخواست HTTP به صورت متحدالشکل ارائه می شوند)، می توان گفت که WCF این امکان را فراهم می کند تا قطع نظر از مکانیزم های مختلف انتقال یک API یکپارچه در اختیار داشت.

WCF برای اولین بار در سال 2006 میلادی به عنوان بخشی از چارچوب نرم افزاری .NET همراه با ویندوز Vista عرضه شد و سپس بارها بروز آوری گردید. ویرایش 4.5 آخرین ورژن این فریم ورک محسوب می شود که امروزه کاربرد فراوانی دارد.

WCF از سه جز (Component) کلی تشکیل می شود:

· سرویس WCF (service WCF )

· میزبان سرویس WCF (service host)

· سرویس گیرنده ی WCF (service client)

بستر اجرای (platform) WCF تحت عنوان Service Model نیز شناخته می شود.

اصول و مفاهیم پایه ای WCF

پیغام (message)

پیغام یک واحد برقراری ارتباط هست که علاوه بر بدنه از بخش های مختلف دیگری تشکیل شده. در WCF برای هر نوع ارتباط، پیغام هایی (message instance) بین سرویس گیرنده و سرویس رد و بدل می شوند.

Endpoint (نقطه ی سرویس دهی)

آدرسی که پیغام به آن ارسال شده یا از آن دریافت می گردد را مشخص می کند. همچنین با تعریف مکانیزم برقراری ارتباط، نحوه ی ارسال پیغام و نیز پیغام های مورد نظر برای ارسال را مشخص می کند. در واقع Endpoint نقطه ای است که در آن سرویس را ارائه می دهیم و برای این منظور به سه عنصر زیر نیاز داریم:

Endpoint خود از بخش های زیر تشکیل شده است:

1. Address –مقصد دقیق یا آدرسی که پیغام ها به آن ارسال می شوند را مشخص می کند. این آدرس به صورت یک URI (شناسه ی متحدالشکل منبع) فرمت دهی شده و به این صورت نوشته می شود: scheme://domain[:port]/[path]. برای نمونه به آدرس ذکر شده در زیر توجه نمایید:

net.tcp://localhost:9000/ServiceA

خود آدرس از چهار قسمت تشکیل شده است: 'net.tcp' در این مثال، در واقع Scheme است که از نام پروتکل و دو نقطه تشکیل شده (در این مثال پروتکل TCP). 'localhost' اسم ماشین (یا دامنه ی وب) است که سرویس بر روی آن مستقر است. 9000 شماره ی درگاه یا پورت را مشخص می کند و در پایان 'ServiceA' اسم سرویس است (در صورت قرار داشتن سرویس در دایرکتوری، می توان در اینجا مشخص نمود).

2. Binding –نحوه ی اتصال و برقراری ارتباط endpoint را تعریف می کند (چگونگی دسترسی به سرویس را مشخص می کند). این بخش از تعدادی المان اتصال (bind کننده) تشکیل شده که زیرساخت ارتباط را فراهم می کند. یک binding در اصل مجموعه ای از تنظیمات است که پروتکل های انتقال اطلاعات نظیر TCP، HTTP و غیره ..، فرمت کدگذاری پیغام و نیز پروتکل های مربوط به امنیت و قابلیت اعتماد را تعریف می کند.

3. contract ها –مجموعه ای از عملیات (متدها) هستند که قابلیت هایی که endpoint در اختیار کاربر یا سرویس گیرنده قرار می دهد را نشان می دهد. به طور معمول contract اسم interface سرویس می باشد.

Hosting (میزبانی)

Hosting در WCF به همان میزبانی سرویس اشاره دارد که از روش ها و گزینه های مختلف قابل اجرا است. از جمله می توان به self-hosting، ISS hosting و WAS hosting اشاره کرد.

Metadata

یکی از مفاهیم پایه ای WCF است چرا که تعامل بین سرویس گیرنده (client application) و سرویس WCF را آسان می سازد. به طور معمول، Metadata پس از فعال سازی به صورت خودکار برای سرویس ایجاد می شود و این کار با بررسی سرویس و endpoint های آن انجام می گیرد.

WCF Client (سرویس گیرنده ی WCF)

WCF client در واقع یک برنامه ی سمت کلاینت است که عملیات (قابل اجرا توسط) سرویس را در قالب متدهایی ارائه (expose) می دهد. این جزء می تواند توسط هر اپلیکیشنی میزبانی شود، حتی آن اپلیکیشن هایی که میزبانی سرویس (service hosting) را بر عهده دارند.

Channel

کانال یک وسیله هست که از طریق آن کلاینت می تواند با سرویس تعامل داشته باشد. کانال های از نوع مختلف برای پردازش پیغام ها بر روی هم به صورت لایه ای انباشته شده که تحت عنوان channel stack شناخته می شوند. به عبارت دیگر Channel stack یک پشته ی چند لایه برقراری ارتباط است که از چندین کانال برای پردازش پیغام ها بهره می گیرد.

SOAP

اگرچه (Simple Object Access Protocol) پروتکل دسترسی آسان به اشیا نام گذاری شده، SOAP به معنای واقعی یک پروتکل انتقال داده محسوب نمی شود. بلکه صرفا یک سند XML هست که از دو بخش header (سرآیند) و body (بدنه) تشکیل شده است . (SOAP: با استفاده از SOAP می توان به رد و بدل پیغام های از نوع XML پرداخت).

مزایای WCF

· به عنوان اولین مزیت می توان به قابلیت همکاری آن با دیگر سرویس ها اشاره کرد. این ویژگی درست نقطه ی مقابل .NET Remoting هست که در آن هر دو طرف سرویس گیرنده و سرویس بایستی .NET را داشته باشند.

· WCF در مقایسه با سرویس های تحت وب ASMX از قابلیت اعتماد و امنیت بیشتری برخوردار است.

· اعمال تغییرات در binding و پیاده سازی مدل امنیتی در WCF به تغییرات اساسی در کدنویسی احتیاج ندارد، کافی است تعدادی گزینه را در تنظیمات تغییر دهید.

· WCF دارای مکانیزم درون ساخته ای برای لاگ گیری و ثبت گزارش است. این در حالی است که در تکنولوژی های دیگر برای لاگ گیری ملزوم به کدنویسی هستید.

· WCF با تکنولوژی AJAX ادغام شده و نیز به صورت پیش فرض از JSON پشتیبانی می کند.

· WCF مقیاس پذیر بوده (scalable) و از استانداردهای web service آتی پشتیبانی می کند.

· دارای مکانیزم امنیتی درون ساخته ی بسیار کارآمدی می باشد.

1395/04/08 2843 983
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

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