در این مقاله با هم آموزش نحوه ی انتشار و میزبانی یک Web API در ASP.NET بر روی سرور IIS و نحوه ی تماس با آن را خواهیم آموخت. ابتدا یک ASP.NET Web API را انتشار میدهیم و سپس آن را بر روی سرور میزبانی میکنیم.
انتشار Web API از ویژوال استودیو
گام های مورد نیاز برای انتشار Web API از ویژوال استودیو به شرح زیر است :
ایجاد یک پروژه ی ASP.NET Web API در حالت Release.
راست کلیک بر روی پروژه Web API و کلیک بر روی منوی Publish

Publish-And-Host-ASP-Web-API-1.jpg

حالا پنل Publish Web را باز کنید و مورد Profile را از قسمت چپ انتخاب کنید. در اینجا یک Select or import a public profile وجود دارد که میتوانیم از طریق آن یک از پیش موجود را انتخاب کنیم و یا یک پروفایل جدیدی برای انتشار ایجاد کنیم :

Sample api.jpg


اکنون بر روی Ok کلیک کنید و به قسمت Connection در Publish Web بروید.
اکنون ما یک File System در متد publish انتخاب میکنیم و موقعیت موردنظر را در قسمت مربوطه انتخاب میکنیم که از آن برای موقعیت IIS استفاده میکنیم

connection.jpg

حال پیکربندی حالت Release را همانند تصویر زیر انتخاب میکنیم و بر روی دکمه ی Next کلیک میکنیم.

Release.jpg


تعدادی گزینه همانند حذف همه فایل های موجود به منظور انتشار وجود دارد که به این معناست که همه ی فایل های موجود در موقعیت مکانی فولدر انتشار را حذف میکند و یک فایل جدید میسازد.
اکنون نمایش مشاهده ی انتشار را دریافت میکنیم که مسیر انتشار و نام پروفایل را نمایش میدهد.
preview.jpg

بر روی دکمه ی انتشار کلیک کنید و همه ی فایل های انتشار شده در موقعیت انتخاب شده ایجاد میشود همانند تصویر زیر :

Publish.jpg


میزبانی Web API
حال که کدهایمان انتشار یافته است اکنون به سراغ میزبانی این کد بر روی IIS میرویم :
در قسمت جستجو inetmgr را جستجو کنید و بر روی آیکون IIS Manager کلیک کنید.
در IIS Manager بر روی سایت ها در پنل Connections راست کلیک کنید همانند تصویر زیر :

IIS.jpg


حال تک تک قسمت های زیر را با اطلاعات موردنیاز برای میزبانی API بر روی سرور پر کنید.
Site Name : نام سایت
Application Pool : نسخه ی .NET FrameWork ای که API بر روی آن اجرا میشود.
Physical Path : مسیر کد API انتشار یافته و مسیر به قسمتی که فایل Web.Config در آن وجود دارد.


add web.jpg

اکنون بر روی OK کلیک کنید و با استفاده از URL زیر به متد Get request مربوط به API دسترسی داشته باشید.
http://localhost/api/home/getStudent
موفق باشید !