سبد (0)

ایجاد اولین سرویس WCF

آموزش WCF - ایجاد اولین سرویس WCF

در این قسمت از آموزش WCF، قصد داریم از اکتیویتی های ReceiveRequest و SendResponse در یک برنامه Workflow استفاده کنیم. و Workflow را بصورت یک سرویس WCF اجرا نماییم. این Workflow دو عدد را دریافت کرده و مجموع آنها را برمی گرداند.

ما از ابزار WCF Test Client که همراه Visual Studio 2013 نصب می شود، برای تست و اجرای سرویس استفاده خواهیم کرد.

مراحل انجام کار

 پروژه گردش کار ReceiveAndReply شامل چهار مرحله زیر است:

  1. ایجاد یک پروژه از نوع WCF Workflow Service Application
  2. ایجاد و طراحی Workflow
  3. تست سرویس در WCFTestClient
  4. پروژه ReceiveAndReply چگونه کار می کند؟

ایجاد یک پروژه از نوع WCF Workflow Service Application

بعد از اینکه Visual Studio 2013 را اجرا نمودید منوی File -> New -> Project را انتخاب نمایید، سپس در پنجره باز شده یعنی New Project از سمت چپ، از شاخه ی #Visual C گزینه ی Workflow را انتخاب نمایید. حالا از سمت راست WCF Workflow Service Application را انتخاب نمایید.

قسمت Name و Solution name را بترتیب با ReceiveAndReply و Chapter03 تنظیم نمایید. نهایتاً بعد از اینکه از محل ذخیره شدن پروژه مطمئن شدید (Location)، روی دکمه OK کلیک نمایید.

 


ایجاد و طراحی Workflow

 فایل Service1.xamlx که بصورت اتوماتیک توسط Visual Studio ساخته شده است را باز کنید و کارهای زیر را انجام دهید:

  1. روی اکتیویتی Sequential Service کلیک کرده و از پایین صفحه تب Variables را انتخاب نمایید. حالا دو متغیر x و y از نوع Int32 را اضافه نمایید.
  2. مطابق شکل زیر، روی لینک روبروی قسمت Content در اکتیویتی ReceiveRequest کلیک کرده و دو پارمتر xIn و yIn را تعریف کنید و آنها را به دو متغیر x و y که در مرحله 1 اضافه کردیم Assign نمایید.
  3. روی لینک روبروی قسمت Content در اکتیویتی SendResponse کلیک کرده و مطابق شکل زیر پارامتر addResult را اضافه نمایید و قسمت Value آن را با x+y تنظیم نمایید.

 

توجه: روی اکتیویتی ReceiveRequest کلیک راست کرده و گزینه Properties را انتخاب نمایید، حالا به قسمت های متمایز شده در شکل زیر توجه نمایید و آنها را مطابق زیر تنظیم کنید:

حالا می توانید پروژه را ذخیره کنید ...!


تست سرویس در WCFTestClient

برای تست و اجرای سرویس Workflow کارهای زیر باید انجام شود:

1- مطابق شکل زیر، روی فایل Service1.xamlx راست کلیک کرده و گزینه "View Browser Firefox" یا "Browse With" را انتخاب نمایید:

 

 2- در صفحه باز شده، آدرس سرویس ما که قرار است دو عدد را با هم جمع کند، آمده است، در این مرحله باید آنرا کپی کنید:

 

 3- حالا مطابق شکل زیر، به آدرس مشخص شده رفته و فایل WcfTestClient.exe را اجرا نمایید. البته توجه داشته باشید که این ابزار همراه با Visual Studio 2013 نصب می شود. همچنین برای اجرای این ابزار می توانید از طریق تایپ کردن "wcftestclient" در پنجره Run آنرا اجرا نمایید:

 

 4- حالا ابزار wcftestclient اجرا شده است و پنجره WCF Test Client در اختیار شماست. برای اضافه کرده سرویس مان به این ابزار، همان طور که سمت راست پنجره توضیح داده شده است، خیلی راحت از منوی File گزینه Add Service را انتخاب نمایید:

 

 5- در پنجره Add Service، آدرسی که در مرحله 2 کپی کردیم، و آدرس سرویس ما محسوب می شود را در کادر Past نمایید:

 

 6- حالا برای اجرای سرویس، مطابق شکل زیر، ابتدا روی GetData دابل کلیک کرده و از سمت راست پنجره، قسمت Value را مقدار دهی کنید و نهایتاً روی دکمه Invoke کلیک کنید: 

 همان طور که انتظار داشتیم، سرویس ما عمل کرده و دو عدد 10 و 15 را با هم جمع می کند و در قسمت Response آنرا نمایش می دهد.


 پروژه ReceiveAndReply چگونه کار می کند؟

زمانی که در Visual Studio 2013 یک پروژه از نوع WCF Workflow Service Application ایجاد می کنید، چند فایل بصورت اتوماتیک ایجاد می شود. در زیر به توضیح مختصر دو تا از مهم ترن آنها پرداخته ایم:

  1. فایل Web.config: زمانی که سرویس Workflow را در IIS مستقر می کنیم، IIS بدنبال این فایل می گردد و بر اساس Web.config پیکربندی سرویس را انجام می دهد.
  2. فایل Service.xamlx: توجه داشته باشید که در این فایل بجای پسوند xaml از xamlx استفاده شده است. شاید این سوال پیش آید که چه تفاوتی بین Workflow xaml و Workflow xamlx وجود دارد. خوب xamlx بصورت خاص برای IIS طراحی شده است. یعنی اگر می خواهید Workflow ای طراحی کنید که در IIS مستقر شود باید از فرمت xamlx استفاده کنید. اما اگر چندین Workflow با فرمت xaml داشته باشیم و بخواهیم آنها را در IIS مستقر کنیم چه کار باید کرد؟ راه حل این است که تمام آرگومانهای ورودی (InArguments) را حذف کنیم و فرمت xaml را به xamlx تبدیل کنیم.
تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه