آموزش ساخت WCF در ویژوال استدیو

WCF

در این آموزش میخواهیم یکی ازویژگی های کلیدی ویژوال استادیو به نام wcf یادبگیریم.بنیاد ارتباطی ویندوز (Windows Communication Foundation) یا به اختصار wcf یکی از قدرتمند ترین محصولات دات نت فریم ورک است که راه حل های شبکه برای خدمات وب (Web Service : شامل پروتکل هایی برای تبادل اطلاعات بین دو برنامه کاربردی هستند)ارائه می دهد.WCF می تواند به زبان های مختلف مورد استفاده قرار گیرد.WCF یک محیط مدیریت شده برای محاسبات توزیع شده ، قابلیت جابه جایی وسیع و پشتیبانی مستقیم از سیستم های سرویس گرا طراحی شده است.

با استفاده از WCF ما میتوانیم راه حل های مطمئن و تبادل قابل اعتماد که در همه پلتفرم ها ادغام میشود بسازیم.

ساختن یک سیستم توزیع شده یک کار بسیار معمول برای بسیاری از برنامه نویسان است با این حال انجام این کار شامل مقابله با چالش های طراحی متعدد است که WCF به بسیاری از مسائل سیستم توزیع غلبه میکند.

ویژگی های WCF :

۱- مدیریت سرویس

۲- قابلیت همکاری

۳- الگوهای پیام چند گانه

۴- خدمات متا دیتا

۵- قراردادهای داده

۶-امنیت

۷-انتقال و رمزنگاری چند گانه

۸-پیام های صف شده و قابل اعتماد

۹-پیام های با طول عمر بالا

۱۰-معاملات

۱۱-Ajax وپشتیبانی Rest

۱۲- توسعه پذیری

قبل از رفتن به کدنویسی ما باید برخی از مفاهیم کلیدی در WCF را یاد بگیریم

نقطه پایان چیست ؟(EndPoint)

سرویس WCF دارای مجموعه ای از نقاط پایانی می باشد که هرنقطه پایانی یک پرتال برای برقراری ارتباط با جهان است.

نقطه پایانی برای شناسایی سرویس استفاده میشود که بیشتر شبیه یک آدرس برای منزل شما می باشد.

هرنقطه پایانی برای شناسایی یک سرویس خاص به کار برده می شود.

یک سرویس می تواند چندین نقطه پایانی داشته باشد کاربر از این نقطه پایانی برای ارتباط با سرویس استفاده می کند.

همه ارتباطات WCF از طریق نقطه پایانی صورت میگیرد.

نقطه پایانی از ۳ قسمت تشکیل می شود:

۱- آدرس (َAddress)

۲- انقیاد (Binding)

۳-قرارداد (Contract)

ABC

آدرس چیست؟ آدرس مکانی است که دارای قابلیت ارسال پیام های WCF است.

انقیاد چیست؟ انقیاد نشان دهنده این است که چگونه پیام فرستاده شده است.

یا به عبارت دیگر نوع ارتباط را مشخص می کند WCF دارای انتقال های زیر است:

۱- HTTP

۲- TCP

۳-PEER NETWORK

۴-MSMQ

این توضیح نشان دهنده این است که نقاط پایانی چگونه در حال برقراری ارتباط هستند.

قرارداد چیست؟

قراردادها مشخص میکنند که چه چیزی توسط سرویس نشان داده شود.

چگونه یک سرویس WCF بسازیم؟

ابتدا ویژوال استادیو خود را باز کنید سپس از منوی File گزینه New وسپس گزینه Project را انتخاب کنید سمت چپ پنجره قسمت Installed

وارد قسمت Templates شوید سپس #Visual C را باز کرده و WCF را انتخاب کنید در قسمت سمت چپ پنجره WCF Service Application را انتخاب کنید در قسمت پایین پنجره نام EchoServoce را وارد کنید و در قسمت Location مسیر دلخواه روی سیستم را انتخاب کنید.

 

WCF_1

 

اضافه کردن سرویس

در پنجره Solution Explorer روی نام پرو ژه کلیک راست کرده و گزینه Add سپس New item را انتخاب کنید از قسمت سمت چپ Web را انتخاب کنید و در سمت راست از لیست آیتم ها WCF Service را انتخاب ودر قسمت Name نام CustomerService را وارد کرده و روی گزینه Add کلیک کنید.

 

 

WCF_2

 

اضافه کردن یک قرداد داده

روی نام پروژه کلیک راست کرده سپس منوی Add  و زیر منوی New item  را انتخاب و در بخش Code یک Class انتخاب و نام Customer  را وارد کرده و روی گزینه Add کلیک کنید.

WCF_3

سپس کد های زیر را وارد میکنیم :

WCF_Code1

 

رابط سرویس (Service Interface)

WCF_Code2

 

پیاده سازی سرویس

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

WCF_Code3

 

 

حال به مرحله تست سرویس می رسیم برای انجام این کارمیتوان با فشردن کلید های Ctrl+F5  پنجره Wcf Test Client باز خواهد شد حالا بدون پیاده سازی روی Server میتوانید سرویس خود را تست کنید.

testclient

 

 


جزئیات فایل

پاکان رحمانی

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    v.abdolmaleki پاسخ

    شما چقدر خوبی

    iceboy2026 پاسخ

    سلام
    لینک دانلود فعال نیست
    من با تمام مرورگر ها تست کردم.
    ممنون

      مسعود شریفی پاسخ

      به صورت مقاله منتشر شده !

    Masoud760 پاسخ

    سلام خسته نباشید
    چند سوال در مورد این مطلب دارم امیدوارم پاسخ بدید:
    1.پس از ساخت این سرویس چطور باید آن رو روی یک هاست میزبانی کنیم؟
    2.برنامه ای که برای کلاینت می نویسیم باید چه نوعی باشه Win یا Web؟
    3.آیا میشه از این ساختار برای مدیریت برنامه های توزیع شده استفاده کرد یا خیر؟
    ممنون میشم اگه جواب بدید شدیدا لنگ این مطالبم!!!!