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

WCFسرواژه ی کلمات Windows Communication Foundation، یک چارچوب نرم افزاری (framework) هست که ویژه ی ساخت، تنظیم و نصب سرویس های توزیع شده در شبکه طراحی شده است. در یک تعریف مختصر می توان گفت که WFC یک مدل برنامه نویسی متحدالشکل برای ساخت نرم افزارهای سرویس گرا است. این فریم ورک که در گذشته تحت عنوان Indigoنیز شناخته می شد، به شما امکان می دهد تا هر سرویسی را در هر سیستم عاملی میزبانی کنید (بین بسترهای اجرایی و پلت فرم های مختلف قابل استفاده هستند).
مرور کلی بر WCF

WCF سرواژه ی کلمات Windows Communication Foundation، یک چارچوب نرم افزاری (framework) هست که ویژه ی ساخت، تنظیم و نصب سرویس های توزیع شده در شبکه طراحی شده است. در یک تعریف مختصر می توان گفت که WFC یک مدل برنامه نویسی متحدالشکل برای ساخت نرم افزارهای سرویس گرا است.

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

. Attribute ها (خصیصه های قراردادی) –سرویس WCF توسط خصیصه های قراردادی ServiceContract و OperationContract تعریف می شود، در حالی که یک web service توسط خصیصه های WebService و WebMethod تعریف می شود.

برای توسعه ی سرویس های WCF می توان از دو ابزار نام برده در زیر استفاده نمود: 1. Microsoft Visual Studio 2. CodePlex

آخرین لایه ی معماری WCF مکانی است که سرویس ها در آن میزبانی می شوند یا به عبارتی برای دسترسی آسان کلاینت (سرویس ها) در آن مستقر و اجرا می شوند

ایجاد یک سرویس WCF با محیط برنامه نویسی Visual Studio 2012 پروسه ی نسبتا آسانی است

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

مستقرسازی و اجرای سرویس WCF در IIS یک فرایند گام به گام است که در زیر به همراه کدنویسی های لازم نمایش داده شده است.

در این آموزش سرویس WCF بر روی یک اپلیکیشن console میزبانی می شود. در زیر نحوه ی میزبانی سرویس در این اپلیکیشن را به صورت گام به گام شرح می دهیم.

برای درک فرایند میزبانی سرویس در WAS، ابتدا می بایست با نحوه ی تنظیم و پیکربندی سیستم، ایجاد یک service contract و فعال سازی تنظیمات binding مختلف به سرویس مستقر شده (hosted) آشنا شویم.

عملیات میزبانی سرویس WCF بر روی Windows service بسیار آسان است. در زیر مراحل راه اندازی و کدنویسی لازم به همراه تصاویر آموزشی ارائه گردیده است.

اپلیکیشن ها می توانند به سرویس های WCF دسترسی داشته و از آن ها استفاده کنند. یک سرویس WCF می تواند بر اساس نوع میزبانی، به روش های مختلفی مورد استفاده قرار گیرد.

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

مجموعه تکنینک هایی که WCF برای bind کردن پیغام ها (مجموعه درخواست های کلاینت) به نمونه های سرویس (service instance) مورد استفاده قرار می دهد در اصطلاح Instance Management خوانده می شود.WCF برای ایجاد نمونه از سرویس (فعال سازی نمونه / Instance activiation) از سه روش بهره می گیرد که در زیر به شرح هریک خواهیم پرداخت.

تراکنش (در WCF) عبارت است از یک مجموعه عملیات که همگی بایستی از چهار ویژگی عمومی به نام ACID پیروی کنند. در تراکنش حتی اگر یک عملیات با شکست مواجه شود، کل سیستم به صورت خودکار ناموفق خواهد بود. زمانی که کاربری به صورت آنلاین سفارشی را می دهد، در پی آن یک تراکنش اجرا می شود. در زیر با ذکر مثالی ساده سعی می کنیم این مفهوم را بهتر برای شما باز کنیم.

WCF RIA یک تکنولوژی ارائه شده توسط چارچوب نرم افزاری .Net است که برای ساخت برنامه های چند لایه سرویس گرا تعبیه شد.

سرویس های WCF دارای سیستم های امنیتی قدرتمند (با دو security mode/level) هستند که به وسیله ی آن ها می توان دسترسی را به کلاینت های مدنظر محدود کرد. با پیاده سازی امنیت در سرویس های WCF تهدید های امنیتی رایج در تراکنش توزیع شده تا حد زیادی کاهش می یابد.

در حین توسعه ی سرویس، برنامه نویس ممکن است با مشکلات و خطاهای پیشبینی نشده مواجه شود که این خطاها بایستی به روش صحیح به کلاینت نمایش داده (گزارش) شوند. خطاها که تحت عنوان exception نیز شناخته می شوند، معمولا با نوشتن ساختمان های try/catch مدیریت می شوند، اما از آنجایی که کلاینت هایی استفاده کنند از سرویس ممکن است از تکنولوژی های مختلف استفاده کنند، در WCF نمی توان خطاها را صرفا با try/catch اداره کرد.