ترکیب MVC با سرویس WCF

پنجشنبه 24 دی 1394

در این مقاله قصد داریم نحوه مجتمع کردن دو تکنولوژی مختلف MVC و WCF را بیاموزیم . در این صورت شما قادر خواهید بود از امکانات هر دو تکنولوژی استفاده کنید .

ترکیب MVC  با سرویس WCF

در این مقاله قصد داریم نحوه مجتمع کردن دو تکنولوژی مختلف MVC و WCF را بیاموزیم . در این صورت شما قادر خواهید بود از امکانات هر دو تکنولوژی استفاده کنید .

همان طور که میدانید WCF یک  وب سرویس است . وب سرویس ها که انواع مختلفی چون Web Api ، REST، WCF و ... دارد اساسا دارای صفحاتی برای نمایش نیستند بلکه تنها به ارائه سرویس از طریق توابعی که درون آنها نوشته شده است ، می پردازند. این سرویس ها دارای آدرس هستند و کاربر با زدن آدرس های مناسب می تواند به توابع دسترسی پیدا کرده و سرویس مورد نظر خود را دریافت کند .

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

ابتدا یک سرویس WCF ایجاد می کنیم .برای این کار مراحل زیر را انجام دهید .به مسیر زیر رفته و سرویس را ایجاد کنید

برای افزودن MVC به این پروژه از NUGET(برای آشنایی بیشتر مقاله NUGET چیست را مطالعه بفرمایید) استفاده می کنیم .

در پنجره ای که در پایین پروژه باز می شود دستور زیر را تایپ کنید

Install-Package Microsoft.AspNet.Mvc -Version 5.2.3

به شکل زیر توجه کنید

حال با این کار شما این دو تکنولوژی را با هم مجتمع کردید.در معماری MVC همانطور که میدانید اصل بر Model, View, and Controller است .ولی در اینجا این سه پوشه را نداریم .برای این کار به صورت دستی یک پوشه در مسیر اصلی سایت به نام View ایجاد می کنیم .در داخل این پوشه یک پوشه دیگر به نام Shared ایجاد می کنیم .برای ساخت یک partial View بر روی پوشه کلیک راست کرده و گزینه Create as a Partial View را کلیک می کنیم .

همان طور که میدانید در برنامه های MVC دو فایل web.config در داخل پوشه اصلی و در پوشه View وجود دارد .بنابراین در مرحله بعد یک فایل web.config به پوشه view اضافه می کنیم .یک فایل web.config از یک پروژه mvc کپی کرده و داخل View کپی می کنیم فقط فراموش نکنید که باید فضای نام پروژه قبلی را پاک کرده و نام این پروژه را به آن اضافه می کنیم .

مورد دیگری که وجود دارد این است که MVC با سیستم مسیریابی یا Routing کار می کند بنابراین از یک پروژه دیگر یک پوشه"App_Start" را کپی کرده و در این پروژه Past می کنیم .اما توجه کنید که این مسیریابی باید شامل فایل های svc هم باشد.سپس تغییرات لازم را در این فایل اعمال می کنیم

تا به اینجای کار مسیریابی را اصلاح کرده ایم حال نوبت به فایل Global.asax است . در داخل این فایل یک تابع به نام Application_Start وجود دارد در این تابع باید خطی را هم برای اینکه مسیریابی ما درست باشد اضافه می کنیم .برای این کار باید فضای نام System.Web.Routing. را هم اضافه کنید

تمام مراحل را انجام دادیم .در ادامه  دو کلاس به نام های OrderItem.cs و OrderDetail.cs به برنامه اضافه می کنیم .در مراحل قبلی یک Partial View برای ایمیل فرستادیم حال نوبت این است که این Partial View را به String تبدیل کنیم

برنامه را با کلیک راست کردن بر روی سرویس و View in Browser  را می زنیم

اگر بعد از اجرای پروژه خطا دیدید

در داخل کنسول مربوط به NUGET دستور زیر را اجرا کنید

Install-Package Microsoft.AspNet.Web.Optimization
فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

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

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید